# Medium Tests: Run on all commits/PRs to dev branch language: c git: depth: 1 branches: only: - dev - release - master - travisTest addons: apt: update: true env: global: - FUZZERTEST=-T2mn ZSTREAM_TESTTIME=-T2mn DECODECORPUS_TESTTIME=-T1mn matrix: fast_finish: true include: - name: arm64 # ~2.5 mn os: linux arch: arm64 script: - make check - name: Minimal Decompressor Macros # ~5mn script: - make clean && make -j all ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror" - make clean && make check ZSTD_LIB_MINIFY=1 MOREFLAGS="-Werror" - make clean && make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT" - make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT" - make clean && make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG" - make clean && make check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG" - make clean && make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS" - make clean && make check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS" - name: static analyzer scanbuild # ~26mn dist: trusty # note : it's important to pin down a version of static analyzer, since different versions report different false positives script: - make staticAnalyze - name: Valgrind + Fuzz Test Stack Mode # ~ 7mn script: - make valgrindinstall - make -C tests clean valgrindTest - make clean - make -C tests test-fuzzer-stackmode - name: Qemu ARM emulation + Fuzz Test # ~13.5mn script: - make arminstall - make armfuzz # Introduced to check compat with old toolchains, to prevent e.g. #1872 - name: ARM Build Test (on Trusty) dist: trusty script: - make arminstall - make armbuild - name: Qemu PPC + Fuzz Test # ~13mn dist: trusty # it seems ppc cross-compilation fails on "current" script: - make ppcinstall - make ppcfuzz # check release number (release only) - name: Tag-Specific Test if: tag =~ ^v[0-9]\.[0-9] script: - make -C tests checkTag - tests/checkTag "$TRAVIS_BRANCH" # tests for release branch and cron job only - name: OS-X # ~13mn if: branch = release os: osx script: - make test - make -C lib all - name: Versions Compatibility Test # 11.5mn if: branch = release script: - make -C tests versionsTest - name: thread sanitizer # ~29mn if: branch = release script: - make clang38install - CC=clang-3.8 make tsan-test-zstream - CC=clang-3.8 make tsan-fuzztest - name: PPC64LE + Fuzz test # ~13mn if: branch = release arch: ppc64le script: - cat /proc/cpuinfo - make test - name: Qemu PPC64 + Fuzz test # ~13mn, presumed Big-Endian (?) dist: trusty # note : PPC64 cross-compilation for Qemu tests seems broken on Xenial if: branch = release script: - make ppcinstall - make ppc64fuzz # note : we already have aarch64 tests on hardware - name: Qemu aarch64 + Fuzz Test (on Xenial) # ~14mn if: branch = release dist: xenial script: - make arminstall - make aarch64fuzz # meson dedicated test - name: Xenial (Meson + clang) # ~15mn if: branch = release dist: xenial language: cpp compiler: clang install: - sudo apt-get install -qq liblz4-dev valgrind tree - | travis_retry curl -o ~/ninja.zip -L 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip' && unzip ~/ninja.zip -d ~/.local/bin - | travis_retry curl -o ~/get-pip.py -L 'https://bootstrap.pypa.io/get-pip.py' && python3 ~/get-pip.py --user && pip3 install --user meson script: - | meson setup \ --buildtype=debugoptimized \ -Db_lundef=false \ -Dauto_features=enabled \ -Dbin_programs=true \ -Dbin_tests=true \ -Dbin_contrib=true \ -Ddefault_library=both \ build/meson builddir - pushd builddir - ninja - meson test --verbose --no-rebuild - DESTDIR=./staging ninja install - tree ./staging after_failure: - cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt allow_failures: - env: ALLOW_FAILURES=true