Zstandard CI testing is split up into three sections: short, medium, and long tests.
Short tests run on CircleCI for new commits on every branch and pull request.
They consist of the following tests:
- Compilation on all supported targets (x86, x86_64, ARM, AArch64, PowerPC, and PowerPC64)
- Compilation on various versions of gcc, clang, and g++
- tests/playTests.sh
on x86_64, without the tests on long data (CLI tests)
- Small tests (tests/legacy.c
, tests/longmatch.c
) on x64_64
Medium tests run on every commit and pull request to dev
branch, on TravisCI.
They consist of the following tests:
- The following tests run with UBsan and Asan on x86_64 and x86, as well as with
Msan on x86_64
- tests/playTests.sh --test-large-data
- Fuzzer tests: tests/fuzzer.c
, tests/zstreamtest.c
, and tests/decodecorpus.c
- tests/zstreamtest.c
under Tsan (streaming mode, including multithreaded mode)
- Valgrind Test (make -C tests test-valgrind
) (testing CLI and fuzzer under valgrind
)
- Fuzzer tests (see above) on ARM, AArch64, PowerPC, and PowerPC64
Long tests run on all commits to release
branch,
and once a day on the current version of dev
branch,
on TravisCI.
They consist of the following tests:
- Entire test suite (including fuzzers and some other specialized tests) on:
- x86_64 and x86 with UBsan and Asan
- x86_64 with Msan
- ARM, AArch64, PowerPC, and PowerPC64
- Streaming mode fuzzer with Tsan (for the zstdmt
testing)
- ZlibWrapper tests, including under valgrind
- Versions test (ensuring zstd
can decode files from all previous versions)
- pzstd
with asan and tsan, as well as in 32-bits mode
- Testing zstd
with legacy mode off
- Entire test suite and make install on macOS
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.