1language: cpp 2sudo: false 3before_install: 4 - export LD_LIBRARY_PATH=`pwd`/tests/:$LD_LIBRARY_PATH 5before_script: 6 - wget https://github.com/groundx/capstonefuzz/raw/master/corpus/corpus-libFuzzer-capstone_fuzz_disasmnext-latest.zip 7 - unzip -q corpus-libFuzzer-capstone_fuzz_disasmnext-latest.zip -d suite/fuzz 8 # TODO remove built in cmocka compile and use system cmocka (including brewfile) once xenial is default 9 - git clone https://git.cryptomilk.org/projects/cmocka.git suite/cstest/cmocka 10 - chmod +x suite/cstest/build_cstest.sh 11script: 12 - ./make.sh 13 - make check 14 - sudo make install 15 - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cp libcapstone.so.* bindings/python/libcapstone.so; fi 16 - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cp libcapstone.*.dylib bindings/python/libcapstone.dylib; fi 17 - if [[ "$NOPYTEST" != "true" ]]; then cd bindings/python && make check; cd ../..; fi 18 - if [[ "$NOPYTEST" != "true" ]]; then cd suite/cstest && ./build_cstest.sh; fi 19 - if [[ "$NOPYTEST" != "true" ]]; then python cstest_report.py -D -t build/cstest -d ../MC; fi 20 - if [[ "$NOPYTEST" != "true" ]]; then python cstest_report.py -D -t build/cstest -f issues.cs; fi 21compiler: 22 - clang 23 - gcc 24os: 25 - linux 26 - osx 27matrix: 28 include: 29 - name: xenial gcc 30 os: linux 31 dist: xenial 32 compiler: gcc 33 addons: 34 apt: 35 packages: 36 - libcmocka-dev 37 - name: bionic gcc (ARM64) 38 arch: arm64 39 os: linux 40 dist: bionic 41 compiler: gcc 42 addons: 43 apt: 44 packages: 45 - libcmocka-dev 46 - unzip 47 - name: bionic gcc (System Z) 48 arch: s390x 49 os: linux 50 dist: bionic 51 compiler: gcc 52 addons: 53 apt: 54 packages: 55 - libcmocka-dev 56 - name: xenial clang 57 os: linux 58 dist: xenial 59 compiler: clang 60 addons: 61 apt: 62 packages: 63 - libcmocka-dev 64 - name: fuzza 65 env: ASAN_OPTIONS=detect_leaks=0 CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address" LDFLAGS="-fsanitize=address" NOPYTEST=true 66 compiler: clang 67 os: linux 68 - name: fuzzm 69 env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" LDFLAGS="-fsanitize=memory" NOPYTEST=true 70 compiler: clang 71 os: linux 72 - name: fuzzu 73 env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fno-sanitize-recover=undefined,integer" LDFLAGS="-fsanitize=undefined" NOPYTEST=true 74 compiler: clang 75 os: linux 76