mirror of
https://github.com/capstone-engine/capstone.git
synced 2024-12-18 02:47:48 +00:00
67 lines
3.0 KiB
YAML
67 lines
3.0 KiB
YAML
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
|
|
- if [[ ${TRAVIS_OS_NAME} = linux ]]; then export PATH="/usr/lib/llvm-9/bin:${PATH}"; fi
|
|
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
|
|
- if [ -n "$QA_FUZZIT" ]; then suite/fuzz/fuzzit.sh; fi
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
os:
|
|
- linux
|
|
- osx
|
|
matrix:
|
|
include:
|
|
- name: xenial gcc
|
|
os: linux
|
|
dist: xenial
|
|
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 -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=address" NOPYTEST=true QA_FUZZIT=asan
|
|
compiler: clang
|
|
os: linux
|
|
- name: fuzzm
|
|
env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=memory -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=memory" NOPYTEST=true QA_FUZZIT=msan
|
|
compiler: clang
|
|
os: linux
|
|
- name: fuzzu
|
|
env: CXXFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fsanitize=fuzzer-no-link" CFLAGS="-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=undefined -fno-sanitize-recover=undefined,integer -fsanitize=fuzzer-no-link" LDFLAGS="-fsanitize=undefined" NOPYTEST=true QA_FUZZIT=ubsan
|
|
compiler: clang
|
|
os: linux
|
|
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- llvm-toolchain-trusty
|
|
- ubuntu-toolchain-r-test
|
|
packages:
|
|
- clang-9
|