##// END OF EJS Templates
narrow: add option for automatically removing unused includes...
narrow: add option for automatically removing unused includes It's been a somewhat common request among our users to have Mercurial automatically pick includes to remove. This patch adds an option for that: `hg tracked --auto-remove-includes`. I'm not sure if this is the right name and semantics for it. Perhaps the feature should also add excludes of large subdirectories even if other files in the include are needed? Narrow clones are experimental, so we can change the name and/or semantics later if necessary. Differential Revision: https://phab.mercurial-scm.org/D6848

File last commit:

r42237:675775c3 default
r43215:40f78072 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()