Mercurial > public > mercurial-scm > hg
comparison contrib/python-zstandard/tests/test_data_structures_fuzzing.py @ 42070:675775c33ab6
zstandard: vendor python-zstandard 0.11
The upstream source distribution from PyPI was extracted. Unwanted
files were removed.
The clang-format ignore list was updated to reflect the new source
of files.
The project contains a vendored copy of zstandard 1.3.8. The old
version was 1.3.6. This should result in some minor performance wins.
test-check-py3-compat.t was updated to reflect now-passing tests on
Python 3.8.
Some HTTP tests were updated to reflect new zstd compression output.
# no-check-commit because 3rd party code has different style guidelines
Differential Revision: https://phab.mercurial-scm.org/D6199
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 04 Apr 2019 17:34:43 -0700 |
parents | 73fef626dae3 |
children | de7838053207 |
comparison
equal
deleted
inserted
replaced
42069:668eff08387f | 42070:675775c33ab6 |
---|---|
22 max_value=zstd.CHAINLOG_MAX) | 22 max_value=zstd.CHAINLOG_MAX) |
23 s_hashlog = strategies.integers(min_value=zstd.HASHLOG_MIN, | 23 s_hashlog = strategies.integers(min_value=zstd.HASHLOG_MIN, |
24 max_value=zstd.HASHLOG_MAX) | 24 max_value=zstd.HASHLOG_MAX) |
25 s_searchlog = strategies.integers(min_value=zstd.SEARCHLOG_MIN, | 25 s_searchlog = strategies.integers(min_value=zstd.SEARCHLOG_MIN, |
26 max_value=zstd.SEARCHLOG_MAX) | 26 max_value=zstd.SEARCHLOG_MAX) |
27 s_searchlength = strategies.integers(min_value=zstd.SEARCHLENGTH_MIN, | 27 s_minmatch = strategies.integers(min_value=zstd.MINMATCH_MIN, |
28 max_value=zstd.SEARCHLENGTH_MAX) | 28 max_value=zstd.MINMATCH_MAX) |
29 s_targetlength = strategies.integers(min_value=zstd.TARGETLENGTH_MIN, | 29 s_targetlength = strategies.integers(min_value=zstd.TARGETLENGTH_MIN, |
30 max_value=zstd.TARGETLENGTH_MAX) | 30 max_value=zstd.TARGETLENGTH_MAX) |
31 s_strategy = strategies.sampled_from((zstd.STRATEGY_FAST, | 31 s_strategy = strategies.sampled_from((zstd.STRATEGY_FAST, |
32 zstd.STRATEGY_DFAST, | 32 zstd.STRATEGY_DFAST, |
33 zstd.STRATEGY_GREEDY, | 33 zstd.STRATEGY_GREEDY, |
34 zstd.STRATEGY_LAZY, | 34 zstd.STRATEGY_LAZY, |
35 zstd.STRATEGY_LAZY2, | 35 zstd.STRATEGY_LAZY2, |
36 zstd.STRATEGY_BTLAZY2, | 36 zstd.STRATEGY_BTLAZY2, |
37 zstd.STRATEGY_BTOPT, | 37 zstd.STRATEGY_BTOPT, |
38 zstd.STRATEGY_BTULTRA)) | 38 zstd.STRATEGY_BTULTRA, |
39 zstd.STRATEGY_BTULTRA2)) | |
39 | 40 |
40 | 41 |
41 @make_cffi | 42 @make_cffi |
42 @unittest.skipUnless('ZSTD_SLOW_TESTS' in os.environ, 'ZSTD_SLOW_TESTS not set') | 43 @unittest.skipUnless('ZSTD_SLOW_TESTS' in os.environ, 'ZSTD_SLOW_TESTS not set') |
43 class TestCompressionParametersHypothesis(unittest.TestCase): | 44 class TestCompressionParametersHypothesis(unittest.TestCase): |
44 @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog, | 45 @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog, |
45 s_searchlength, s_targetlength, s_strategy) | 46 s_minmatch, s_targetlength, s_strategy) |
46 def test_valid_init(self, windowlog, chainlog, hashlog, searchlog, | 47 def test_valid_init(self, windowlog, chainlog, hashlog, searchlog, |
47 searchlength, targetlength, strategy): | 48 minmatch, targetlength, strategy): |
48 zstd.ZstdCompressionParameters(window_log=windowlog, | 49 zstd.ZstdCompressionParameters(window_log=windowlog, |
49 chain_log=chainlog, | 50 chain_log=chainlog, |
50 hash_log=hashlog, | 51 hash_log=hashlog, |
51 search_log=searchlog, | 52 search_log=searchlog, |
52 min_match=searchlength, | 53 min_match=minmatch, |
53 target_length=targetlength, | 54 target_length=targetlength, |
54 compression_strategy=strategy) | 55 strategy=strategy) |
55 | 56 |
56 @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog, | 57 @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog, |
57 s_searchlength, s_targetlength, s_strategy) | 58 s_minmatch, s_targetlength, s_strategy) |
58 def test_estimated_compression_context_size(self, windowlog, chainlog, | 59 def test_estimated_compression_context_size(self, windowlog, chainlog, |
59 hashlog, searchlog, | 60 hashlog, searchlog, |
60 searchlength, targetlength, | 61 minmatch, targetlength, |
61 strategy): | 62 strategy): |
62 if searchlength == zstd.SEARCHLENGTH_MIN and strategy in (zstd.STRATEGY_FAST, zstd.STRATEGY_GREEDY): | 63 if minmatch == zstd.MINMATCH_MIN and strategy in (zstd.STRATEGY_FAST, zstd.STRATEGY_GREEDY): |
63 searchlength += 1 | 64 minmatch += 1 |
64 elif searchlength == zstd.SEARCHLENGTH_MAX and strategy != zstd.STRATEGY_FAST: | 65 elif minmatch == zstd.MINMATCH_MAX and strategy != zstd.STRATEGY_FAST: |
65 searchlength -= 1 | 66 minmatch -= 1 |
66 | 67 |
67 p = zstd.ZstdCompressionParameters(window_log=windowlog, | 68 p = zstd.ZstdCompressionParameters(window_log=windowlog, |
68 chain_log=chainlog, | 69 chain_log=chainlog, |
69 hash_log=hashlog, | 70 hash_log=hashlog, |
70 search_log=searchlog, | 71 search_log=searchlog, |
71 min_match=searchlength, | 72 min_match=minmatch, |
72 target_length=targetlength, | 73 target_length=targetlength, |
73 compression_strategy=strategy) | 74 strategy=strategy) |
74 size = p.estimated_compression_context_size() | 75 size = p.estimated_compression_context_size() |
75 | 76 |