zstd/tests/regression
Yonatan Komornik a91e91d614
[Bugfix] row hash tries to match position 0 (#3548)
#3543 decreases the size of the tagTable by a factor of 2, which requires using the first tag position in each row for head position instead of a tag.
Although position 0 stopped being a valid match, it still persisted in mask calculation resulting in the matches loops possibly terminating before it should have. The fix skips position 0 to solve this problem.
2023-03-13 10:00:03 -07:00
..
.gitignore fixed minor compression difference in btlazy2 2021-12-29 18:51:03 -08:00
config.c huf log speed optimization: unidirectional scan of logs + break when regressing 2022-12-20 12:27:38 -08:00
config.h Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
data.c Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
data.h Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
levels.h Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
Makefile Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
method.c Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
method.h Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
README.md [regression] Add README explaining the test 2020-10-30 13:55:52 -07:00
result.c Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
result.h Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00
results.csv [Bugfix] row hash tries to match position 0 (#3548) 2023-03-13 10:00:03 -07:00
test.c Update Copyright Headers 'Facebook' -> 'Meta Platforms' 2022-12-20 12:37:57 -05:00

Regression tests

The regression tests run zstd in many scenarios and ensures that the size of the compressed results doesn't change. This helps us ensure that we don't accidentally regress zstd's compression ratio.

These tests get run every night by CircleCI. If the job fails you can read the diff printed by the job to ensure the change isn't a regression. If all is well you can download the results.csv artifact and commit the new results. Or you can rebuild it yourself following the instructions below.

Rebuilding results.csv

From the root of the zstd repo run:

# Build the zstd binary
make clean
make -j zstd

# Build the regression test binary
cd tests/regression
make clean
make -j test

# Run the regression test
./test --cache data-cache --zstd ../../zstd --output results.csv

# Check results.csv to ensure the new results are okay
git diff

# Then submit the PR