Subject: CVS commit: pkgsrc/devel/py-hypothesis
From: Adam Ciarcinski
Date: 2019-12-15 12:28:53
Message id: 20191215112853.B3E0DFA97@cvs.NetBSD.org

Log Message:
py-hypothesis: updated to 4.53.3

4.53.3:
This patch fixes :func:`~hypothesis.strategies.from_type` with \ 
:class:`python:typing.Hashable` and :class:`python:typing.Sized`, which \ 
previously failed with an internal error on Python 3.7 or later.

4.53.2:
This release reorganises a number of the Hypothesis internal modules into a \ 
package structure. If you are only depending on the public API it should have no \ 
effect. If you are depending on the internal API (which you shouldn't be, and \ 
which we don't guarantee compatibility on) you may have to rename some imports.

4.53.1:
This release changes the size distribution of the number of steps run in \ 
stateful testing: It will now almost always run the maximum number of steps \ 
permitted.

4.53.0:
:ref:`statistics` now include the best score seen for each label, which can help \ 
avoid the threshold problem when the minimal example shrinks right down to the \ 
threshold of failure (:issue:`2180`).

4.52.0:
This release changes the stateful_step_count setting to raise an error if set to \ 
0. This is a backwards compatible change because a value of 0 would never have \ 
worked and attempting to run it would have resulted in an internal assertion \ 
error.

4.51.1:
This release makes a small internal change to the distribution of test cases. It \ 
is unlikely to have much user visible impact.

4.51.0:
This release deprecates use of :func:`@example <hypothesis.example>`, \ 
:func:`@seed <hypothesis.seed>`, or :func:`@reproduce_failure \ 
<hypothesis.reproduce_failure>` without :func:`@given \ 
<hypothesis.given>`.

4.50.8:
This patch makes certain uses of Bundles more efficient in stateful testing \ 
(:issue:`2078`).

4.50.7:
This release refactors some of Hypothesis's internal interfaces for representing \ 
data generation. It should have no user visible effect.

4.50.6:
This patch removes some old debugging helpers in our Numpy extra which have not \ 
been needed since :issue:`1963` and :issue:`2245`.

4.50.5:
This patch fixes :issue:`2229`, where Numpy arrays of unsized strings would only \ 
ever have strings of size one due to an interaction between our generation logic \ 
and Numpy's allocation strategy.

4.50.4:
This patch fixes a rare internal error in strategies for a list of unique items \ 
sampled from a short non-unique sequence (:issue:`2247`). The bug was discovered \ 
via :pypi:`hypothesis-jsonschema`.

4.50.3:
This release improves the error message when :func:`@settings \ 
<hypothesis.settings>` tries to inherit settings from a parent argument \ 
that isn't a settings instance.

4.50.2:
This release improves Hypothesis's "Falsifying example" output, by \ 
breaking output across multiple lines where necessary, and by removing \ 
irrelevant information from the stateful testing output.

4.50.1:
This patch adds :pypi:`flake8-comprehensions` to our linter suite. There is no \ 
user-visible change - expect perhaps via some strange microbenchmarks - but \ 
certain parts of the code now have a clear and more consistent style.

4.50.0:
This release fixes some cases where we might previously have failed to run the \ 
validation logic for some strategies. As a result tests which would previously \ 
have been silently testing significantly less than they should may now start to \ 
raise InvalidArgument now that these errors are caught.

4.49.0:
This release significantly improves the data distribution in :doc:`rule based \ 
stateful testing <stateful>`, by using a technique called Swarm Testing \ 
(Groce, Alex, et al. "Swarm testing." Proceedings of the 2012 \ 
International Symposium on Software Testing and Analysis. ACM, 2012.) to select \ 
which rules are run in any given test case. This should allow it to find many \ 
issues that it would previously have missed.

This change is likely to be especially beneficial for stateful tests with large \ 
numbers of rules.

4.48.1:
This release adds some heuristics to test case generation that try to ensure \ 
that test cases generated early on will be relatively small.

This fixes a bug introduced in :ref:`Hypothesis 4.42.0 <v4.42.0>` which \ 
would cause occasional :obj:`~hypothesis.HealthCheck.too_slow` failures on some \ 
tests.

4.48.0:
This release revokes the deprecation of find, as we've now rebuilt it on top of \ 
@given, which means it has minimal maintenance burden and we're happy to support \ 
it.

4.47.5:
This release rebuilds find() on top of @given in order to have more code in \ 
common. It should have minimal user visible effect.

4.47.4:
This patch removes an internal compatibility shim that we no longer need.

4.47.3:
This patch fixes several typos in our docstrings and comments, with no change in \ 
behaviour.

4.47.2:
This release fixes an internal issue where Hypothesis would sometimes generate \ 
test cases that were above its intended maximum size. This would only have \ 
happened rarely and probably would not have caused major problems when it did.

Users of the new :ref:`targeted property-based testing <targeted-search>` \ 
might see minor impact (possibly slightly faster tests and slightly worse target \ 
scores), but only in the unlikely event that they were hitting this problem. \ 
Other users should not see any effect at all.

4.47.1:
This release removes some unused code from the core engine. There is no \ 
user-visible change.

4.47.0:
This release commonizes some code between running explicit examples and normal \ 
test execution. The main user visible impact of this is that deadlines are now \ 
enforced when running explicit examples.

4.46.1:
This patch ensures that a KeyboardInterrupt received during example generation \ 
is not treated as a mystery test failure but instead propagates to the top \ 
level, not recording the interrupted generation in the conjecture data tree.

4.46.0:
This release changes the behaviour of :func:`~hypothesis.strategies.floats` when \ 
excluding signed zeros - floats(max_value=0.0, exclude_max=True) can no longer \ 
generate -0.0 nor the much rarer floats(min_value=-0.0, exclude_min=True) \ 
generate +0.0.

The correct interaction between signed zeros and exclusive endpoints was \ 
unclear; we now enforce the invariant that :func:`~hypothesis.strategies.floats` \ 
will never generate a value equal to an excluded endpoint (:issue:`2201`).

If you prefer the old behaviour, you can pass floats(max_value=-0.0) or \ 
floats(min_value=0.0) which is exactly equivalent and has not changed. If you \ 
had two endpoints equal to zero, we recommend clarifying your tests by using \ 
:func:`~hypothesis.strategies.just` or \ 
:func:`~hypothesis.strategies.sampled_from` instead of \ 
:func:`~hypothesis.strategies.floats`.

4.45.1:
This patch improves the error message when invalid arguments are passed to \ 
:func:`~hypothesis.stateful.rule` or :func:`~hypothesis.stateful.invariant` \ 
(:issue:`2149`).

4.45.0:
This release supports :obj:`python:typing.Final` and \ 
:obj:`python:typing.TypedDict` in :func:`~hypothesis.strategies.from_type`.

4.44.5:
This patch disables our :pypi:`pytest` plugin when running on versions of \ 
:pypi:`pytest` before 4.3, the oldest our plugin supports. Note that at time of \ 
writing the Pytest developers only support 4.6 and later!

Hypothesis tests using :func:`@given() <hypothesis.given>` work on any \ 
test runner, but our integrations to e.g. avoid example database collisions when \ 
combined with @pytest.mark.parametrize eventually drop support for obsolete \ 
versions.

4.44.4:
This patch adds some internal comments and clarifications to the Hypothesis \ 
implementation. There is no user-visible change.

4.44.3:
This patch avoids importing test runners such as :pypi:`pytest`, \ 
:pypi:`unittest2`, or :pypi:`nose` solely to access their special "skip \ 
test" exception types - if the module is not in :obj:`sys.modules`, the \ 
exception can't be raised anyway.

This fixes a problem where importing an otherwise unused module could cause \ 
spurious errors due to import-time side effects (and possibly -Werror).

Files:
RevisionActionfile
1.82modifypkgsrc/devel/py-hypothesis/Makefile
1.29modifypkgsrc/devel/py-hypothesis/PLIST
1.79modifypkgsrc/devel/py-hypothesis/distinfo