diff contrib/python-zstandard/tests/test_data_structures_fuzzing.py @ 43994:de7838053207

zstandard: vendor python-zstandard 0.13.0 Version 0.13.0 of the package was just released. It contains an upgraded zstd C library which can result in some performance wins, official support for Python 3.8, and a blackened code base. There were no meaningful code or functionality changes in this release of python-zstandard: just reformatting and an upgraded zstd library version. So the diff seems much larger than what it is. Files were added without modifications. The clang-format-ignorelist file was updated to reflect a new header file in the zstd distribution. # no-check-commit because 3rd party code has different style guidelines Differential Revision: https://phab.mercurial-scm.org/D7770
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 28 Dec 2019 09:55:45 -0800
parents 675775c33ab6
children 5e84a96d865b
line wrap: on
line diff
--- a/contrib/python-zstandard/tests/test_data_structures_fuzzing.py	Fri Dec 27 18:54:57 2019 -0500
+++ b/contrib/python-zstandard/tests/test_data_structures_fuzzing.py	Sat Dec 28 09:55:45 2019 -0800
@@ -7,70 +7,99 @@
     import hypothesis
     import hypothesis.strategies as strategies
 except ImportError:
-    raise unittest.SkipTest('hypothesis not available')
+    raise unittest.SkipTest("hypothesis not available")
 
 import zstandard as zstd
 
 from .common import (
     make_cffi,
+    TestCase,
+)
+
+
+s_windowlog = strategies.integers(
+    min_value=zstd.WINDOWLOG_MIN, max_value=zstd.WINDOWLOG_MAX
+)
+s_chainlog = strategies.integers(
+    min_value=zstd.CHAINLOG_MIN, max_value=zstd.CHAINLOG_MAX
+)
+s_hashlog = strategies.integers(min_value=zstd.HASHLOG_MIN, max_value=zstd.HASHLOG_MAX)
+s_searchlog = strategies.integers(
+    min_value=zstd.SEARCHLOG_MIN, max_value=zstd.SEARCHLOG_MAX
+)
+s_minmatch = strategies.integers(
+    min_value=zstd.MINMATCH_MIN, max_value=zstd.MINMATCH_MAX
+)
+s_targetlength = strategies.integers(
+    min_value=zstd.TARGETLENGTH_MIN, max_value=zstd.TARGETLENGTH_MAX
+)
+s_strategy = strategies.sampled_from(
+    (
+        zstd.STRATEGY_FAST,
+        zstd.STRATEGY_DFAST,
+        zstd.STRATEGY_GREEDY,
+        zstd.STRATEGY_LAZY,
+        zstd.STRATEGY_LAZY2,
+        zstd.STRATEGY_BTLAZY2,
+        zstd.STRATEGY_BTOPT,
+        zstd.STRATEGY_BTULTRA,
+        zstd.STRATEGY_BTULTRA2,
+    )
 )
 
 
-s_windowlog = strategies.integers(min_value=zstd.WINDOWLOG_MIN,
-                                    max_value=zstd.WINDOWLOG_MAX)
-s_chainlog = strategies.integers(min_value=zstd.CHAINLOG_MIN,
-                                    max_value=zstd.CHAINLOG_MAX)
-s_hashlog = strategies.integers(min_value=zstd.HASHLOG_MIN,
-                                max_value=zstd.HASHLOG_MAX)
-s_searchlog = strategies.integers(min_value=zstd.SEARCHLOG_MIN,
-                                    max_value=zstd.SEARCHLOG_MAX)
-s_minmatch = strategies.integers(min_value=zstd.MINMATCH_MIN,
-                                 max_value=zstd.MINMATCH_MAX)
-s_targetlength = strategies.integers(min_value=zstd.TARGETLENGTH_MIN,
-                                     max_value=zstd.TARGETLENGTH_MAX)
-s_strategy = strategies.sampled_from((zstd.STRATEGY_FAST,
-                                        zstd.STRATEGY_DFAST,
-                                        zstd.STRATEGY_GREEDY,
-                                        zstd.STRATEGY_LAZY,
-                                        zstd.STRATEGY_LAZY2,
-                                        zstd.STRATEGY_BTLAZY2,
-                                        zstd.STRATEGY_BTOPT,
-                                        zstd.STRATEGY_BTULTRA,
-                                        zstd.STRATEGY_BTULTRA2))
-
+@make_cffi
+@unittest.skipUnless("ZSTD_SLOW_TESTS" in os.environ, "ZSTD_SLOW_TESTS not set")
+class TestCompressionParametersHypothesis(TestCase):
+    @hypothesis.given(
+        s_windowlog,
+        s_chainlog,
+        s_hashlog,
+        s_searchlog,
+        s_minmatch,
+        s_targetlength,
+        s_strategy,
+    )
+    def test_valid_init(
+        self, windowlog, chainlog, hashlog, searchlog, minmatch, targetlength, strategy
+    ):
+        zstd.ZstdCompressionParameters(
+            window_log=windowlog,
+            chain_log=chainlog,
+            hash_log=hashlog,
+            search_log=searchlog,
+            min_match=minmatch,
+            target_length=targetlength,
+            strategy=strategy,
+        )
 
-@make_cffi
-@unittest.skipUnless('ZSTD_SLOW_TESTS' in os.environ, 'ZSTD_SLOW_TESTS not set')
-class TestCompressionParametersHypothesis(unittest.TestCase):
-    @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog,
-                        s_minmatch, s_targetlength, s_strategy)
-    def test_valid_init(self, windowlog, chainlog, hashlog, searchlog,
-                        minmatch, targetlength, strategy):
-        zstd.ZstdCompressionParameters(window_log=windowlog,
-                                       chain_log=chainlog,
-                                       hash_log=hashlog,
-                                       search_log=searchlog,
-                                       min_match=minmatch,
-                                       target_length=targetlength,
-                                       strategy=strategy)
-
-    @hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog,
-                      s_minmatch, s_targetlength, s_strategy)
-    def test_estimated_compression_context_size(self, windowlog, chainlog,
-                                                hashlog, searchlog,
-                                                minmatch, targetlength,
-                                                strategy):
-        if minmatch == zstd.MINMATCH_MIN and strategy in (zstd.STRATEGY_FAST, zstd.STRATEGY_GREEDY):
+    @hypothesis.given(
+        s_windowlog,
+        s_chainlog,
+        s_hashlog,
+        s_searchlog,
+        s_minmatch,
+        s_targetlength,
+        s_strategy,
+    )
+    def test_estimated_compression_context_size(
+        self, windowlog, chainlog, hashlog, searchlog, minmatch, targetlength, strategy
+    ):
+        if minmatch == zstd.MINMATCH_MIN and strategy in (
+            zstd.STRATEGY_FAST,
+            zstd.STRATEGY_GREEDY,
+        ):
             minmatch += 1
         elif minmatch == zstd.MINMATCH_MAX and strategy != zstd.STRATEGY_FAST:
             minmatch -= 1
 
-        p = zstd.ZstdCompressionParameters(window_log=windowlog,
-                                           chain_log=chainlog,
-                                           hash_log=hashlog,
-                                           search_log=searchlog,
-                                           min_match=minmatch,
-                                           target_length=targetlength,
-                                           strategy=strategy)
+        p = zstd.ZstdCompressionParameters(
+            window_log=windowlog,
+            chain_log=chainlog,
+            hash_log=hashlog,
+            search_log=searchlog,
+            min_match=minmatch,
+            target_length=targetlength,
+            strategy=strategy,
+        )
         size = p.estimated_compression_context_size()
-