travis : added test durations

as a guide when doing test selection
This commit is contained in:
Yann Collet
2019-11-26 10:24:09 -08:00
parent d6e0a44576
commit 228a6d28cd
+28 -28
View File
@@ -26,39 +26,39 @@ env:
matrix: matrix:
fast_finish: true fast_finish: true
include: include:
- name: arm64 - name: arm64 # ~2.5 mn
os: linux os: linux
arch: arm64 arch: arm64
script: script:
- make check - make check
- name: make test (complete) - name: make test (complete) # ~14mn
script: script:
# DEVNULLRIGHTS : will request sudo rights to test permissions on /dev/null # DEVNULLRIGHTS : will request sudo rights to test permissions on /dev/null
- DEVNULLRIGHTS=test make test - DEVNULLRIGHTS=test make test
- name: gcc-6 + gcc-7 compilation - name: gcc-6 + gcc-7 compilation # ~ 3mn
script: script:
- make gcc6install gcc7install - make gcc6install gcc7install
- CC=gcc-6 CFLAGS=-Werror make -j all - CC=gcc-6 CFLAGS=-Werror make -j all
- make clean - make clean
- CC=gcc-7 CFLAGS=-Werror make -j all - CC=gcc-7 CFLAGS=-Werror make -j all
- name: gcc-8 + ASan + UBSan + Test Zstd - name: gcc-8 + ASan + UBSan + Test Zstd # ~6.5mn
script: script:
- make gcc8install - make gcc8install
- CC=gcc-8 CFLAGS="-Werror" make -j all - CC=gcc-8 CFLAGS="-Werror" make -j all
- make clean - make clean
- CC=gcc-8 make -j uasan-test-zstd </dev/null # test when stdin is not a tty - 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 - name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode # ~4mn
script: script:
- make gcc6install libc6install - make gcc6install libc6install
- CC=gcc-6 CFLAGS="-Werror -m32" make -j all32 - CC=gcc-6 CFLAGS="-Werror -m32" make -j all32
- make clean - make clean
- CC=gcc-6 make -j uasan-test-zstd32 # note : can complain about pointer overflow - CC=gcc-6 make -j uasan-test-zstd32 # note : can complain about pointer overflow
- name: Trusty (clang-3.8 + MSan + Test Zstd) - name: clang-3.8 + MSan + Test Zstd # ~3.5mn
script: script:
- make clang38install - make clang38install
# External libraries must be turned off when using MSAN tests, # External libraries must be turned off when using MSAN tests,
@@ -66,7 +66,7 @@ matrix:
# so any data coming from these libraries is always considered "uninitialized" # 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 - CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
- name: Trusty (Minimal Decompressor Macros) - name: Minimal Decompressor Macros # ~5mn
script: script:
- make clean - make clean
- CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT" - CFLAGS=-Werror make -j all MOREFLAGS="-Werror -DHUF_FORCE_DECOMPRESS_X1 -DZSTD_FORCE_DECOMPRESS_SEQUENCES_SHORT"
@@ -81,63 +81,63 @@ matrix:
- make clean - make clean
- make -j check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS" - make -j check MOREFLAGS="-Werror -DZSTD_NO_INLINE -DZSTD_STRIP_ERROR_STRINGS"
- name: cmake test - name: cmake test # ~2mn
script: script:
- make cmakebuild - make cmakebuild
- name: static analyzer scanbuild - name: static analyzer scanbuild # ~26mn
script: script:
- make staticAnalyze - make staticAnalyze
- name: gcc-8 + ASan + UBSan + Fuzz Test - name: gcc-8 + ASan + UBSan + Fuzz Test # ~19mn
script: script:
- make gcc8install - make gcc8install
- CC=gcc-8 make clean uasan-fuzztest - CC=gcc-8 make clean uasan-fuzztest
- name: gcc-6 + ASan + UBSan + Fuzz Test 32bit - name: gcc-6 + ASan + UBSan + Fuzz Test 32bit # ~15.5mn
script: script:
- make gcc6install libc6install - make gcc6install libc6install
- CC=gcc-6 CFLAGS="-O2 -m32" make uasan-fuzztest # can complain about pointer overflow - CC=gcc-6 CFLAGS="-O2 -m32" make uasan-fuzztest # can complain about pointer overflow
- name: clang-3.8 + MSan + Fuzz Test - name: clang-3.8 + MSan + Fuzz Test # ~14.5mn
script: script:
- make clang38install - make clang38install
- CC=clang-3.8 make clean msan-fuzztest - CC=clang-3.8 make clean msan-fuzztest
- name: ASan + UBSan + MSan + Regression Test - name: ASan + UBSan + MSan + Regression Test # ~ 4.5mn
script: script:
- make -j uasanregressiontest - make -j uasanregressiontest
- make clean - make clean
- make -j msanregressiontest - make -j msanregressiontest
- name: Valgrind + Fuzz Test Stack Mode - name: Valgrind + Fuzz Test Stack Mode # ~ 7mn
script: script:
- make valgrindinstall - make valgrindinstall
- make -C tests clean valgrindTest - make -C tests clean valgrindTest
- make clean - make clean
- make -C tests test-fuzzer-stackmode - make -C tests test-fuzzer-stackmode
- name: Qemu ARM emulation + Fuzz Test - name: Qemu ARM emulation + Fuzz Test # ~13.5mn
script: script:
- make arminstall - make arminstall
- make armfuzz - make armfuzz
- name: Xenial (AARCH64 + Fuzz Test) - name: Xenial (AARCH64 + Fuzz Test) # ~14mn
dist: xenial dist: xenial
script: script:
- make arminstall - make arminstall
- make aarch64fuzz - make aarch64fuzz
- name: PPC + Fuzz Test - name: PPC + Fuzz Test # ~13mn
script: script:
- make ppcinstall - make ppcinstall
- make ppcfuzz - make ppcfuzz
- name: Versions Compatibility Test - name: Versions Compatibility Test # 11.5mn
script: script:
- make -C tests versionsTest - make -C tests versionsTest
# check release number # check release number (release only)
- name: Tag-Specific Test - name: Tag-Specific Test
if: tag =~ ^v[0-9]\.[0-9] if: tag =~ ^v[0-9]\.[0-9]
script: script:
@@ -145,20 +145,20 @@ matrix:
- tests/checkTag "$TRAVIS_BRANCH" - tests/checkTag "$TRAVIS_BRANCH"
# tests for master branch and cron job only # tests for master branch and cron job only
- name: OS-X - name: OS-X # ~13mn
if: branch = master if: branch = master
os: osx os: osx
script: script:
- make test - make test
- name: thread sanitizer - name: thread sanitizer # ~29mn
if: branch = master if: branch = master
script: script:
- make clang38install - make clang38install
- CC=clang-3.8 make tsan-test-zstream - CC=clang-3.8 make tsan-test-zstream
- CC=clang-3.8 make tsan-fuzztest - CC=clang-3.8 make tsan-fuzztest
- name: C++ and gnu90 compatibility - name: C++ and gnu90 compatibility # ~2.5mn
if: branch = master if: branch = master
script: script:
- make cxxtest - make cxxtest
@@ -167,26 +167,26 @@ matrix:
- make clean - make clean
- make travis-install # just ensures `make install` works - make travis-install # just ensures `make install` works
- name: c99 compatibility - name: c99 compatibility # ~1.5mn
if: branch = master if: branch = master
script: script:
- make c99build - make c99build
- make -C tests test-zstd - make -C tests test-zstd
- name: PPC64 - name: PPC64 # ~13mn
if: branch = master if: branch = master
script: script:
- make ppcinstall - make ppcinstall
- make ppc64fuzz - make ppc64fuzz
- name: zlib wrapper test - name: zlib wrapper test # ~7.5mn
if: branch = master if: branch = master
script: script:
- make gpp6install valgrindinstall - make gpp6install valgrindinstall
- make -C zlibWrapper test - make -C zlibWrapper test
- make -C zlibWrapper valgrindTest - make -C zlibWrapper valgrindTest
- name: LZ4, thread pool, and partial libs tests - name: LZ4, thread pool, and partial libs tests # ~2mn
if: branch = master if: branch = master
script: script:
- make lz4install - make lz4install
@@ -197,8 +197,8 @@ matrix:
- bash tests/libzstd_partial_builds.sh - bash tests/libzstd_partial_builds.sh
# meson dedicated test # meson dedicated test
- name: Xenial (Meson + clang) - name: Xenial (Meson + clang) # ~8mn
# env: ALLOW_FAILURES=true if: branch = master
dist: xenial dist: xenial
language: cpp language: cpp
compiler: clang compiler: clang