Mercurial > public > mercurial-scm > hg
diff contrib/python-zstandard/tests/test_data_structures.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 | 69de49c4e39c |
line wrap: on
line diff
--- a/contrib/python-zstandard/tests/test_data_structures.py Thu Apr 04 15:24:03 2019 -0700 +++ b/contrib/python-zstandard/tests/test_data_structures.py Thu Apr 04 17:34:43 2019 -0700 @@ -15,17 +15,17 @@ chain_log=zstd.CHAINLOG_MIN, hash_log=zstd.HASHLOG_MIN, search_log=zstd.SEARCHLOG_MIN, - min_match=zstd.SEARCHLENGTH_MIN + 1, + min_match=zstd.MINMATCH_MIN + 1, target_length=zstd.TARGETLENGTH_MIN, - compression_strategy=zstd.STRATEGY_FAST) + strategy=zstd.STRATEGY_FAST) zstd.ZstdCompressionParameters(window_log=zstd.WINDOWLOG_MAX, chain_log=zstd.CHAINLOG_MAX, hash_log=zstd.HASHLOG_MAX, search_log=zstd.SEARCHLOG_MAX, - min_match=zstd.SEARCHLENGTH_MAX - 1, + min_match=zstd.MINMATCH_MAX - 1, target_length=zstd.TARGETLENGTH_MAX, - compression_strategy=zstd.STRATEGY_BTULTRA) + strategy=zstd.STRATEGY_BTULTRA2) def test_from_level(self): p = zstd.ZstdCompressionParameters.from_level(1) @@ -43,7 +43,7 @@ search_log=4, min_match=5, target_length=8, - compression_strategy=1) + strategy=1) self.assertEqual(p.window_log, 10) self.assertEqual(p.chain_log, 6) self.assertEqual(p.hash_log, 7) @@ -59,9 +59,10 @@ self.assertEqual(p.threads, 4) p = zstd.ZstdCompressionParameters(threads=2, job_size=1048576, - overlap_size_log=6) + overlap_log=6) self.assertEqual(p.threads, 2) self.assertEqual(p.job_size, 1048576) + self.assertEqual(p.overlap_log, 6) self.assertEqual(p.overlap_size_log, 6) p = zstd.ZstdCompressionParameters(compression_level=-1) @@ -85,8 +86,9 @@ p = zstd.ZstdCompressionParameters(ldm_bucket_size_log=7) self.assertEqual(p.ldm_bucket_size_log, 7) - p = zstd.ZstdCompressionParameters(ldm_hash_every_log=8) + p = zstd.ZstdCompressionParameters(ldm_hash_rate_log=8) self.assertEqual(p.ldm_hash_every_log, 8) + self.assertEqual(p.ldm_hash_rate_log, 8) def test_estimated_compression_context_size(self): p = zstd.ZstdCompressionParameters(window_log=20, @@ -95,12 +97,44 @@ search_log=1, min_match=5, target_length=16, - compression_strategy=zstd.STRATEGY_DFAST) + strategy=zstd.STRATEGY_DFAST) # 32-bit has slightly different values from 64-bit. self.assertAlmostEqual(p.estimated_compression_context_size(), 1294072, delta=250) + def test_strategy(self): + with self.assertRaisesRegexp(ValueError, 'cannot specify both compression_strategy'): + zstd.ZstdCompressionParameters(strategy=0, compression_strategy=0) + + p = zstd.ZstdCompressionParameters(strategy=2) + self.assertEqual(p.compression_strategy, 2) + + p = zstd.ZstdCompressionParameters(strategy=3) + self.assertEqual(p.compression_strategy, 3) + + def test_ldm_hash_rate_log(self): + with self.assertRaisesRegexp(ValueError, 'cannot specify both ldm_hash_rate_log'): + zstd.ZstdCompressionParameters(ldm_hash_rate_log=8, ldm_hash_every_log=4) + + p = zstd.ZstdCompressionParameters(ldm_hash_rate_log=8) + self.assertEqual(p.ldm_hash_every_log, 8) + + p = zstd.ZstdCompressionParameters(ldm_hash_every_log=16) + self.assertEqual(p.ldm_hash_every_log, 16) + + def test_overlap_log(self): + with self.assertRaisesRegexp(ValueError, 'cannot specify both overlap_log'): + zstd.ZstdCompressionParameters(overlap_log=1, overlap_size_log=9) + + p = zstd.ZstdCompressionParameters(overlap_log=2) + self.assertEqual(p.overlap_log, 2) + self.assertEqual(p.overlap_size_log, 2) + + p = zstd.ZstdCompressionParameters(overlap_size_log=4) + self.assertEqual(p.overlap_log, 4) + self.assertEqual(p.overlap_size_log, 4) + @make_cffi class TestFrameParameters(unittest.TestCase):