zstd/.travis.yml

234 lines
6.4 KiB
YAML
Raw Normal View History

# Medium Tests: Run on all commits/PRs to dev branch
2015-01-23 16:58:16 -08:00
language: c
dist: trusty
git:
depth: 1
branches:
only:
- dev
- master
2018-06-27 16:57:28 -07:00
- travisTest
2018-12-13 10:38:06 -08:00
addons:
apt:
update: true
env:
global:
- FUZZERTEST=-T2mn
ZSTREAM_TESTTIME=-T2mn
DECODECORPUS_TESTTIME=-T1mn
matrix:
fast_finish: true
include:
- name: arm64
os: linux
arch: arm64
script:
- make check
2018-12-13 10:38:06 -08:00
- name: Trusty (Test All)
script:
- make test
- name: gcc-6 + gcc-7 compilation
2018-12-13 10:38:06 -08:00
script:
- make gcc6install gcc7install
2018-12-13 10:38:06 -08:00
- CC=gcc-6 CFLAGS=-Werror make -j all
- make clean
- CC=gcc-7 CFLAGS=-Werror make -j all
- name: gcc-8 + ASan + UBSan + Test Zstd
2018-12-13 10:38:06 -08:00
script:
- make gcc8install
- CC=gcc-8 CFLAGS="-Werror" make -j all
2018-12-13 10:38:06 -08:00
- make clean
- CC=gcc-8 make -j uasan-test-zstd </dev/null # test when stdin is not a tty
- name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode
2018-12-13 10:38:06 -08:00
script:
- make gcc6install libc6install
- CC=gcc-6 CFLAGS="-Werror -m32" make -j all32
2018-12-13 10:38:06 -08:00
- make clean
- CC=gcc-6 make -j uasan-test-zstd32 # note : can complain about pointer overflow
2018-12-13 10:38:06 -08:00
- name: Trusty (clang-3.8 + MSan + Test Zstd)
script:
- make clang38install
# External libraries must be turned off when using MSAN tests,
# because they are not msan-instrumented,
# so any data coming from these libraries is always considered "uninitialized"
- CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
2018-12-13 10:38:06 -08:00
2018-12-05 14:04:57 -08:00
- name: Trusty (Minimal Decompressor Macros)
script:
- make clean
- CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
- make clean
- make -j check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
2018-12-05 14:04:57 -08:00
- make clean
- CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
2018-12-05 14:04:57 -08:00
- make clean
- make -j check MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X2 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_LONG"
- make clean
- CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
- make clean
- make -j check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
2018-12-05 14:04:57 -08:00
2018-12-13 10:38:06 -08:00
- name: Trusty (CMake)
script:
- make cmakebuild
- name: Trusty (Static Analyze)
script:
- make staticAnalyze
- name: Trusty (gcc-8 + ASan + UBSan + Fuzz Test)
2018-12-13 10:38:06 -08:00
script:
- make gcc8install
- CC=gcc-8 make clean uasan-fuzztest
2018-12-13 10:38:06 -08:00
- name: Trusty (gcc-6 + ASan + UBSan + Fuzz Test 32bit)
script:
- make gcc6install libc6install
- CC=gcc-6 CFLAGS="-O2 -m32" make uasan-fuzztest # can complain about pointer overflow
2018-12-13 10:38:06 -08:00
- name: Trusty (clang-3.8 + MSan + Fuzz Test)
script:
- make clang38install
- CC=clang-3.8 make clean msan-fuzztest
2018-12-13 10:38:06 -08:00
- name: Trusty (ASan + UBSan + MSan + Regression Test)
script:
- make -j uasanregressiontest
- make clean
- make -j msanregressiontest
- name: Trusty (Valgrind + Fuzz Test Stack Mode)
script:
- make valgrindinstall
- make -C tests clean valgrindTest
- make clean
- make -C tests test-fuzzer-stackmode
- name: Trusty (ARM + Fuzz Test)
script:
- make arminstall
- make armfuzz
- name: Xenial (AARCH64 + Fuzz Test)
dist: xenial
2018-12-13 10:38:06 -08:00
script:
- make arminstall
- make aarch64fuzz
2018-12-13 10:38:06 -08:00
- name: Trusty (PPC + Fuzz Test)
script:
- make ppcinstall
- make ppcfuzz
2019-07-30 17:11:25 -07:00
- name: Trusty (Versions Compatibility Test)
script:
- make -C tests versionsTest
2018-12-24 03:31:40 -08:00
# check release number
2018-12-13 10:38:06 -08:00
- name: Tag-Specific Test
if: tag =~ ^v[0-9]\.[0-9]
script:
- make -C tests checkTag
- tests/checkTag "$TRAVIS_BRANCH"
2018-12-24 03:31:40 -08:00
# tests for master branch and cron job only
- name: OS-X
2018-12-24 03:44:57 -08:00
if: branch = master
2018-12-24 03:31:40 -08:00
os: osx
script:
- make test
- name: thread sanitizer
2018-12-24 03:44:57 -08:00
if: branch = master
2018-12-24 03:31:40 -08:00
script:
- make clang38install
- CC=clang-3.8 make tsan-test-zstream
- CC=clang-3.8 make tsan-fuzztest
2018-12-24 03:31:40 -08:00
2018-12-24 03:44:57 -08:00
- name: C++ and gnu90 compatibility
if: branch = master
2018-12-24 03:31:40 -08:00
script:
- make cxxtest
- make clean
- make gnu90build
- make clean
2018-12-24 03:44:57 -08:00
- make travis-install # just ensures `make install` works
2018-12-24 03:31:40 -08:00
2019-06-10 08:21:28 -07:00
- name: c99 compatibility
if: branch = master
script:
- make c99build
- make -C tests test-zstd
- name: PPC64
if: branch = master
script:
- make ppcinstall
- make ppc64fuzz
2018-12-24 03:31:40 -08:00
- name: zlib wrapper test
2018-12-24 03:44:57 -08:00
if: branch = master
2018-12-24 03:31:40 -08:00
script:
- make gpp6install valgrindinstall
- make -C zlibWrapper test
- make -C zlibWrapper valgrindTest
- name: LZ4, thread pool, and partial libs tests
if: branch = master
script:
- make lz4install
- make -C tests test-lz4
- make clean
- make -C tests test-pool
- make clean
- bash tests/libzstd_partial_builds.sh
2018-12-24 03:31:40 -08:00
# meson dedicated test
2018-12-13 10:38:06 -08:00
- name: Xenial (Meson + clang)
2019-04-12 09:43:34 -07:00
# env: ALLOW_FAILURES=true
2018-12-13 10:38:06 -08:00
dist: xenial
language: cpp
compiler: clang
2018-12-27 19:07:05 -08:00
install:
2018-12-13 10:38:06 -08:00
- sudo apt-get install -qq liblz4-dev valgrind tree
2019-06-28 11:42:17 -07:00
- |
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 \
2019-06-28 11:42:17 -07:00
-Ddefault_library=both \
build/meson builddir
- pushd builddir
- ninja
- meson test --verbose --no-rebuild
2018-12-13 10:38:06 -08:00
- DESTDIR=./staging ninja install
- tree ./staging
after_failure:
- cat "$TRAVIS_BUILD_DIR"/builddir/meson-logs/testlog.txt
2019-10-22 17:43:29 -07:00
2018-12-13 10:38:06 -08:00
allow_failures:
2018-12-27 19:07:05 -08:00
- env: ALLOW_FAILURES=true