| # Medium Tests: Run on all commits/PRs to dev branch |
| |
| language: c |
| dist: trusty |
| sudo: required |
| |
| addons: |
| apt: |
| update: true |
| |
| matrix: |
| fast_finish: true |
| include: |
| # Ubuntu 14.04 |
| - env: Cmd='make test' |
| |
| - env: Cmd='make gcc6install && CC=gcc-6 CFLAGS=-Werror make -j all |
| && make clean && CC=gcc-6 make -j uasan-test-zstd </dev/null' # test when stdin is not a tty |
| - env: Cmd='make gcc6install libc6install |
| && make clean && CC=gcc-6 make -j uasan-test-zstd32' |
| - env: Cmd='make gcc7install && make clean && CC=gcc-7 make -j uasan-test-zstd' |
| - env: Cmd='make gcc8install && CC=gcc-8 CFLAGS="-Werror -O3" make -j all' |
| - env: Cmd='make clang38install && CC=clang-3.8 make clean msan-test-zstd' |
| |
| - env: Cmd='make cmakebuild' |
| |
| - env: Cmd='make staticAnalyze' |
| |
| - env: Cmd='make gcc6install && CC=gcc-6 make clean uasan-fuzztest' |
| - env: Cmd='make gcc6install libc6install |
| && make clean && CC=gcc-6 CFLAGS=-m32 make uasan-fuzztest' |
| - env: Cmd='make clang38install && CC=clang-3.8 make clean msan-fuzztest' |
| - env: Cmd='make clang38install && CC=clang-3.8 make clean tsan-fuzztest' |
| |
| - env: Cmd='make -j uasanregressiontest |
| && make clean && make -j msanregressiontest' |
| |
| - env: Cmd='make valgrindinstall && make -C tests clean valgrindTest |
| && make clean && make -C tests test-fuzzer-stackmode' |
| |
| - env: Cmd='make arminstall && make armfuzz' |
| - env: Cmd='make arminstall && make aarch64fuzz' |
| - env: Cmd='make ppcinstall && make ppcfuzz' |
| - env: Cmd='make ppcinstall && make ppc64fuzz' |
| |
| - env: Cmd='make lz4install && make -C tests test-lz4 |
| && make clean && make -C tests test-pool |
| && make clean && bash tests/libzstd_partial_builds.sh' |
| |
| # tag-specific test |
| - if: tag =~ ^v[0-9]\.[0-9] |
| env: Cmd='make -C tests checkTag && tests/checkTag $TRAVIS_BRANCH' |
| |
| - env: BUILD_SYSTEM='meson' |
| allow_failures: |
| - env: BUILD_SYSTEM='meson' |
| |
| git: |
| depth: 1 |
| |
| branches: |
| only: |
| - dev |
| - master |
| - travisTest |
| |
| script: |
| - JOB_NUMBER=$(printf '%s' "${TRAVIS_JOB_NUMBER}" | sed -E 's@[0-9]+\.([0-9]+)@\1@') |
| - printf 'JOB_NUMBER=%s TRAVIS_BRANCH=%s TRAVIS_EVENT_TYPE=%s TRAVIS_PULL_REQUEST=%s\n' |
| "${JOB_NUMBER}" "${TRAVIS_BRANCH}" "${TRAVIS_EVENT_TYPE}" "${TRAVIS_PULL_REQUEST}" |
| - if [ "${BUILD_SYSTEM}" = meson ]; then |
| sudo apt-get install -qq python3.5 wget tree |
| && wget https://bootstrap.pypa.io/get-pip.py |
| && python3.5 get-pip.py --user |
| && rm get-pip.py |
| && pip3.5 install --user meson ninja; |
| mkdir build/meson/build; |
| pushd "$_"; |
| meson --buildtype=debug -D with-contrib=true -D with-tests=true |
| -D with-contrib=true -D default_library=both .. |
| && ninja |
| && DESTDIR=./staging ninja install |
| && tree ./staging; |
| popd; |
| else |
| export FUZZERTEST=-T2mn; |
| export ZSTREAM_TESTTIME=-T2mn; |
| export DECODECORPUS_TESTTIME=-T1mn; |
| sh -c "${Cmd}" || travis_terminate 1; |
| fi |