Subject: CVS commit: pkgsrc/devel/py-hypothesis
From: Adam Ciarcinski
Date: 2019-02-01 12:50:30
Message id: 20190201115030.6DEC7FB16@cvs.NetBSD.org

Log Message:
py-hypothesis: updated to 4.4.3

4.4.3:
This release fixes an open file leak that used to cause ResourceWarnings.

4.4.2:
This release changes Hypothesis's internal approach to caching the results of \ 
executing test cases. The result should be that it is now significantly less \ 
memory hungry, especially when shrinking large test cases.

Some tests may get slower or faster depending on whether the new or old caching \ 
strategy was well suited to them, but any change in speed in either direction \ 
should be minor.

4.4.1:
This patch tightens up some of our internal heuristics to deal with shrinking \ 
floating point numbers, which will now run in fewer circumstances.

You are fairly unlikely to see much difference from this, but if you do you are \ 
likely to see shrinking become slightly faster and/or producing slightly worse \ 
results.

4.4.0:
This release adds the :func:~hypothesis.extra.django.from_form function, which \ 
allows automatic testing against Django forms. (:issue:35)

4.3.0:
This release deprecates HealthCheck.hung_test and disables the associated \ 
runtime check for tests that ran for more than five minutes. Such a check is \ 
redundant now that we enforce the deadline and max_examples setting, which can \ 
be adjusted independently.

4.2.0:
This release adds a new module, hypothesis.extra.lark, which you can use to \ 
generate strings matching a context-free grammar.

In this initial version, only :pypi:lark-parser EBNF grammars are supported, by \ 
the new :func:hypothesis.extra.lark.from_lark function.

4.1.2:
This patch fixes a very rare overflow bug (:issue:1748) which could raise an \ 
InvalidArgument error in :func:~hypothesis.strategies.complex_numbers even \ 
though the arguments were valid.

4.1.1:
This release makes some improvements to internal code organisation and \ 
documentation and has no impact on behaviour.

4.1.0:
This release adds :func:~hypothesis.register_random, which registers \ 
random.Random instances or compatible objects to be seeded and reset by \ 
Hypothesis to ensure that test cases are deterministic.

We still recommend explicitly passing a random.Random instance from \ 
:func:~hypothesis.strategies.randoms if possible, but registering a \ 
framework-global state for Hypothesis to manage is better than flaky tests!

4.0.2:
This patch fixes :issue:1387, where bounded \ 
:func:~hypothesis.strategies.integers with a very large range would almost \ 
always generate very large numbers. Now, we usually use the same tuned \ 
distribution as unbounded :func:~hypothesis.strategies.integers.

4.0.1:
This release randomizes the order in which the shrinker tries some of its \ 
initial normalization operations. You are unlikely to see much difference as a \ 
result unless your generated examples are very large. In this case you may see \ 
some performance improvements in shrinking.

4.0.0:
Welcome to the next major version of Hypothesis!

There are no new features here, as we release those in minor versions. Instead, \ 
4.0 is a chance for us to remove deprecated features (many already converted \ 
into no-ops), and turn a variety of warnings into errors.

If you were running on the last version of Hypothesis 3.x without any Hypothesis \ 
deprecation warnings (or using private APIs), this will be a very boring \ 
upgrade. In fact, nothing will change for you at all. Per :ref:our deprecation \ 
policy <deprecation-policy>, warnings added in the last six months (after \ 
2018-07-05) have not been converted to errors.

Removals
hypothesis.extra.datetime has been removed, replaced by the core date and time \ 
strategies.
hypothesis.extra.fakefactory has been removed, replaced by general expansion of \ 
Hypothesis' strategies and the third-party ecosystem.
The SQLite example database backend has been removed.

Settings
The :obj:~hypothesis.settings.deadline is now enforced by default, rather than \ 
just emitting a warning when the default (200 milliseconds per test case) \ 
deadline is exceeded.
The database_file setting has been removed; use :obj:~hypothesis.settings.database.
The perform_health_check setting has been removed; use \ 
:obj:~hypothesis.settings.suppress_health_check.
The max_shrinks setting has been removed; use :obj:~hypothesis.settings.phases \ 
to disable shrinking.
The min_satisfying_examples, max_iterations, strict, timeout, and use_coverage \ 
settings have been removed without user-configurable replacements.

Strategies
The elements argument is now required for collection strategies.
The average_size argument was a no-op and has been removed.
Date and time strategies now only accept min_value and max_value for bounds.
:func:~hypothesis.strategies.builds now requires that the thing to build is \ 
passed as the first positional argument.
Alphabet validation for :func:~hypothesis.strategies.text raises errors, not \ 
warnings, as does category validation for \ 
:func:~hypothesis.strategies.characters.
The choices() strategy has been removed. Instead, you can use \ 
:func:~hypothesis.strategies.data with \ 
:func:~hypothesis.strategies.sampled_from, so choice(elements) becomes \ 
data.draw(sampled_from(elements)).
The streaming() strategy has been removed. Instead, you can use \ 
:func:~hypothesis.strategies.data and replace iterating over the stream with \ 
data.draw() calls.
:func:~hypothesis.strategies.sampled_from and \ 
:func:~hypothesis.strategies.permutations raise errors instead of warnings if \ 
passed a collection that is not a sequence.

Miscellaneous
Applying :func:@given <hypothesis.given> to a test function multiple times \ 
was really inefficient, and now it's also an error.
Using the .example() method of a strategy (intended for interactive exploration) \ 
within another strategy or a test function always weakened data generation and \ 
broke shrinking, and now it's an error too.
The HYPOTHESIS_DATABASE_FILE environment variable is no longer supported, as the \ 
database_file setting has been removed.
The HYPOTHESIS_VERBOSITY_LEVEL environment variable is no longer supported. You \ 
can use the --hypothesis-verbosity pytest argument instead, or write your own \ 
setup code using the settings profile system to replace it.
Using :func:@seed <hypothesis.seed> or :obj:derandomize=True \ 
<hypothesis.settings.derandomize> now forces :obj:database=None \ 
<hypothesis.settings.database> to ensure results are in fact reproducible. \ 
If :obj:~hypothesis.settings.database is not None, doing so also emits a \ 
HypothesisWarning.
Unused exception types have been removed from hypothesis.errors; namely \ 
AbnormalExit, BadData, BadTemplateDraw, DefinitelyNoSuchExample, Timeout, and \ 
WrongFormat.

Files:
RevisionActionfile
1.70modifypkgsrc/devel/py-hypothesis/Makefile
1.23modifypkgsrc/devel/py-hypothesis/PLIST
1.67modifypkgsrc/devel/py-hypothesis/distinfo