xref: /netbsd-src/external/bsd/zstd/dist/TESTING.md (revision 3117ece4fc4a4ca4489ba793710b60b0d26bab6c)
1*3117ece4SchristosTesting
2*3117ece4Schristos=======
3*3117ece4Schristos
4*3117ece4SchristosZstandard CI testing is split up into three sections:
5*3117ece4Schristosshort, medium, and long tests.
6*3117ece4Schristos
7*3117ece4SchristosShort Tests
8*3117ece4Schristos-----------
9*3117ece4SchristosShort tests run on CircleCI for new commits on every branch and pull request.
10*3117ece4SchristosThey consist of the following tests:
11*3117ece4Schristos- Compilation on all supported targets (x86, x86_64, ARM, AArch64, PowerPC, and PowerPC64)
12*3117ece4Schristos- Compilation on various versions of gcc, clang, and g++
13*3117ece4Schristos- `tests/playTests.sh` on x86_64, without the tests on long data (CLI tests)
14*3117ece4Schristos- Small tests (`tests/legacy.c`, `tests/longmatch.c`) on x64_64
15*3117ece4Schristos
16*3117ece4SchristosMedium Tests
17*3117ece4Schristos------------
18*3117ece4SchristosMedium tests run on every commit and pull request to `dev` branch, on TravisCI.
19*3117ece4SchristosThey consist of the following tests:
20*3117ece4Schristos- The following tests run with UBsan and Asan on x86_64 and x86, as well as with
21*3117ece4Schristos  Msan on x86_64
22*3117ece4Schristos  - `tests/playTests.sh --test-large-data`
23*3117ece4Schristos  - Fuzzer tests: `tests/fuzzer.c`, `tests/zstreamtest.c`, and `tests/decodecorpus.c`
24*3117ece4Schristos- `tests/zstreamtest.c` under Tsan (streaming mode, including multithreaded mode)
25*3117ece4Schristos- Valgrind Test (`make -C tests test-valgrind`) (testing CLI and fuzzer under `valgrind`)
26*3117ece4Schristos- Fuzzer tests (see above) on ARM, AArch64, PowerPC, and PowerPC64
27*3117ece4Schristos
28*3117ece4SchristosLong Tests
29*3117ece4Schristos----------
30*3117ece4SchristosLong tests run on all commits to `release` branch,
31*3117ece4Schristosand once a day on the current version of `dev` branch,
32*3117ece4Schristoson TravisCI.
33*3117ece4SchristosThey consist of the following tests:
34*3117ece4Schristos- Entire test suite (including fuzzers and some other specialized tests) on:
35*3117ece4Schristos  - x86_64 and x86 with UBsan and Asan
36*3117ece4Schristos  - x86_64 with Msan
37*3117ece4Schristos  - ARM, AArch64, PowerPC, and PowerPC64
38*3117ece4Schristos- Streaming mode fuzzer with Tsan (for the `zstdmt` testing)
39*3117ece4Schristos- ZlibWrapper tests, including under valgrind
40*3117ece4Schristos- Versions test (ensuring `zstd` can decode files from all previous versions)
41*3117ece4Schristos- `pzstd` with asan and tsan, as well as in 32-bits mode
42*3117ece4Schristos- Testing `zstd` with legacy mode off
43*3117ece4Schristos- Entire test suite and make install on macOS
44