cea-sec/miasm

View on GitHub
.travis.yml

Summary

Maintainability
Test Coverage
sudo: false
language: python
python:
  - 2.7
  - 3.6
addons:
  apt:
    sources: ['llvm-toolchain-xenial-6.0', 'ubuntu-toolchain-r-test']
    packages:
      - llvm-6.0
      - llvm-6.0-dev
      - g++-5
env:
  global: CXX=g++-5 LLVM_CONFIG=llvm-config-6.0
  matrix:
    - MIASM_TEST_EXTRA_ARG="-o regression -t long,python,llvm,gcc,z3,qemu,cparser"
    - MIASM_TEST_EXTRA_ARG="-o example -t long,python,llvm,gcc,z3,qemu,cparser"
    - MIASM_TEST_EXTRA_ARG="-o long"
    - MIASM_TEST_EXTRA_ARG="-o qemu -t llvm,gcc"
    - MIASM_TEST_EXTRA_ARG="-o qemu -t python,gcc"
    - MIASM_TEST_EXTRA_ARG="-o qemu -t python,llvm"
    - MIASM_TEST_EXTRA_ARG="-o llvm -t qemu,long"
    - MIASM_TEST_EXTRA_ARG="-o gcc -t qemu,long"
    - MIASM_TEST_EXTRA_ARG="-o python -t qemu,long"
    - MIASM_TEST_EXTRA_ARG="-o z3"
    - MIASM_TEST_EXTRA_ARG="-o cparser"
    - MIASM_EXTENTED_TESTS_LS_X64="ls_x64"
    - MIASM_EXTENTED_TESTS_LOADER="loader"
    - MIASM_EXTENTED_TESTS_IR="ir_tests"
before_script:
- pip install -r optional_requirements.txt
# codespell
- "pip install codespell && git ls-files | xargs codespell --ignore-words=.codespell_ignore 2>/dev/null"
# install
- python setup.py build build_ext
- python setup.py install
# extended tests
- git clone https://github.com/cea-sec/miasm-extended-tests
script:
  - test -z "$MIASM_TEST_EXTRA_ARG" || (cd test && flags=""; python --version |& grep -q "Python 3" || flags="-W error"; python $flags test_all.py $MIASM_TEST_EXTRA_ARG && git ls-files -o --exclude-standard)
  - test -z "$MIASM_EXTENTED_TESTS_LS_x64" || (cd "miasm-extended-tests/$MIASM_EXTENTED_TESTS_LS_X64" && ./run.sh "$TRAVIS_BUILD_DIR")
  - test -z "$MIASM_EXTENTED_TESTS_LOADER" || (cd "miasm-extended-tests/$MIASM_EXTENTED_TESTS_LOADER" && ./test_dll.py)
  - test -z "$MIASM_EXTENTED_TESTS_IR" || (cd "miasm-extended-tests/$MIASM_EXTENTED_TESTS_IR" && ./run.sh)