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