mirror of
https://github.com/opnsense/src.git
synced 2026-03-01 04:40:53 -05:00
Merge commit 'b3392d84da5bf2162baf937c77e0557f3fd8a52b' into zstd_1.5.2 full changelog: https://github.com/facebook/zstd/compare/v1.4.8...v1.5.2 Updated sys/kern/subr_compressor.c to new API MFC after: 3 days Relnotes: yes Sponsored by: Klara, Inc.
1.8 KiB
1.8 KiB
Testing
Zstandard CI testing is split up into three sections: short, medium, and long tests.
Short 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.shon x86_64, without the tests on long data (CLI tests)- Small tests (
tests/legacy.c,tests/longmatch.c) on x64_64
Medium Tests
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, andtests/decodecorpus.c
tests/zstreamtest.cunder Tsan (streaming mode, including multithreaded mode)- Valgrind Test (
make -C tests valgrindTest) (testing CLI and fuzzer under valgrind) - Fuzzer tests (see above) on ARM, AArch64, PowerPC, and PowerPC64
Long Tests
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
zstdmttesting) - ZlibWrapper tests, including under valgrind
- Versions test (ensuring
zstdcan decode files from all previous versions) pzstdwith asan and tsan, as well as in 32-bits mode- Testing
zstdwith legacy mode off - Entire test suite and make install on macOS