##// END OF EJS Templates
interactive: do not prompt about files given in command line...
interactive: do not prompt about files given in command line For commit and revert commands with --interactive and explicit files given in the command line, we now skip the invite to "examine changes to <file> ? [Ynesfdaq?]". The reason for this is that, if <file> is specified by the user, asking for confirmation is redundant. In patch.filterpatch(), we now use an optional "match" argument to conditionally call the prompt() function when entering a new "header" item. We use .exact() method to compare with files from the "header" in order to only consider (rel)path patterns. Add tests with glob patterns for commit and revert, to make sure we still ask to examine files in these cases.

File last commit:

r42237:675775c3 default
r42238:db72f9f6 default
Show More
test_data_structures_fuzzing.py
76 lines | 3.5 KiB | text/x-python | PythonLexer
/ contrib / python-zstandard / tests / test_data_structures_fuzzing.py
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 import io
import os
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 import sys
import unittest
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
try:
import hypothesis
import hypothesis.strategies as strategies
except ImportError:
raise unittest.SkipTest('hypothesis not available')
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 import zstandard as zstd
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
from .common import (
make_cffi,
)
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)
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 s_minmatch = strategies.integers(min_value=zstd.MINMATCH_MIN,
max_value=zstd.MINMATCH_MAX)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 s_targetlength = strategies.integers(min_value=zstd.TARGETLENGTH_MIN,
Gregory Szorc
zstandard: vendor python-zstandard 0.10.1...
r40157 max_value=zstd.TARGETLENGTH_MAX)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 s_strategy = strategies.sampled_from((zstd.STRATEGY_FAST,
zstd.STRATEGY_DFAST,
zstd.STRATEGY_GREEDY,
zstd.STRATEGY_LAZY,
zstd.STRATEGY_LAZY2,
zstd.STRATEGY_BTLAZY2,
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 zstd.STRATEGY_BTOPT,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 zstd.STRATEGY_BTULTRA,
zstd.STRATEGY_BTULTRA2))
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
@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,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 s_minmatch, s_targetlength, s_strategy)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 def test_valid_init(self, windowlog, chainlog, hashlog, searchlog,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 minmatch, targetlength, strategy):
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 zstd.ZstdCompressionParameters(window_log=windowlog,
chain_log=chainlog,
hash_log=hashlog,
search_log=searchlog,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 min_match=minmatch,
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 target_length=targetlength,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 strategy=strategy)
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
@hypothesis.given(s_windowlog, s_chainlog, s_hashlog, s_searchlog,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 s_minmatch, s_targetlength, s_strategy)
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 def test_estimated_compression_context_size(self, windowlog, chainlog,
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 hashlog, searchlog,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 minmatch, targetlength,
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796 strategy):
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 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
Gregory Szorc
zstd: vendor python-zstandard 0.8.0...
r31796
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 p = zstd.ZstdCompressionParameters(window_log=windowlog,
chain_log=chainlog,
hash_log=hashlog,
search_log=searchlog,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 min_match=minmatch,
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 target_length=targetlength,
Gregory Szorc
zstandard: vendor python-zstandard 0.11...
r42237 strategy=strategy)
Gregory Szorc
zstandard: vendor python-zstandard 0.9.0...
r37513 size = p.estimated_compression_context_size()