language: cpp sudo: false before_install: - export LD_LIBRARY_PATH=`pwd`/tests/:$LD_LIBRARY_PATH before_script: - wget https://github.com/groundx/capstonefuzz/raw/master/corpus/corpus-libFuzzer-capstone_fuzz_disasmnext-latest.zip - unzip -q corpus-libFuzzer-capstone_fuzz_disasmnext-latest.zip -d suite/fuzz # TODO remove built in cmocka compile and use system cmocka (including brewfile) once xenial is default - git clone https://git.cryptomilk.org/projects/cmocka.git suite/cstest/cmocka - chmod +x suite/cstest/build_cstest.sh script: - ./make.sh - make check - sudo make install - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cp libcapstone.so.* bindings/python/libcapstone.so; fi - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then cp libcapstone.*.dylib bindings/python/libcapstone.dylib; fi - if [[ "$NOPYTEST" != "true" ]]; then cd bindings/python && make check; cd ../..; fi - if [[ "$NOPYTEST" != "true" ]]; then cd suite/cstest && ./build_cstest.sh; fi - if [[ "$NOPYTEST" != "true" ]]; then python cstest_report.py -D -t build/cstest -d ../MC; fi - if [[ "$NOPYTEST" != "true" ]]; then python cstest_report.py -D -t build/cstest -f issues.cs; fi compiler: - clang - gcc os: - linux - osx matrix: include: - name: xenial gcc os: linux dist: xenial compiler: gcc addons: apt: packages: - libcmocka-dev - name: bionic gcc (ARM64) arch: arm64 os: linux dist: bionic compiler: gcc addons: apt: packages: - libcmocka-dev - unzip - name: bionic gcc (System Z) arch: s390x os: linux dist: bionic compiler: gcc addons: apt: packages: - libcmocka-dev - name: xenial clang os: linux dist: xenial compiler: clang addons: apt: packages: - libcmocka-dev - name: fuzza 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 compiler: clang os: linux - name: fuzzm env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory" LDFLAGS="-fsanitize=memory" NOPYTEST=true compiler: clang os: linux - name: fuzzu 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 compiler: clang os: linux