2020-12-09 10:11:58 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-hypothesis: updated to 5.42.3 5.42.2 This patch teaches hypothesis.extra.django.from_field() to infer more efficient \ strategies by inspecting (not just filtering by) field validators for numeric \ and string fields. 5.42.1 This patch refactors hypothesis.settings to use type-annotated keyword arguments \ instead of **kwargs, which makes tab-completion much more useful - as well as \ type-checkers like mypy. 5.42.0 This patch teaches the magic() ghostwriter to recognise “en/de” function \ roundtrips other than the common encode/decode pattern, such as encrypt/decrypt \ or, encipher/decipher. 5.41.5 This patch adds a performance optimisation to avoid saving redundant seeds when \ using the .fuzz_one_input hook. |
2020-12-06 11:51:44 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.41.5. 5.41.5 - 2020-12-05 This patch adds a performance optimisation to avoid saving redundant seeds when using the .fuzz_one_input hook. |
2020-11-29 19:08:38 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.41.4. 5.41.4 - 2020-11-28 This patch fixes issue #2657, where passing unicode patterns compiled with re.IGNORECASE to from_regex() could trigger an internal error when casefolding a character creates a longer string (e.g. "\u0130".lower() -> "i\u0370"). |
2020-11-27 17:08:13 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.41.3. This patch adds a final fallback clause to our plugin logic to fail with a warning rather than error on Python < 3.8 when neither the importlib_metadata (preferred) or setuptools (fallback) packages are available. |
2020-11-09 15:21:43 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.41.2. 5.41.2 - 2020-11-08 This patch fixes urls() strategy ensuring that ~ (tilde) is treated as one of the url-safe characters (issue #2658). 5.41.1 - 2020-11-03 This patch improves our CLI help and documentation. |
2020-10-31 20:40:30 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.41.0. 5.41.0 - 2020-10-30 Hypothesis now shrinks examples where the error is raised while drawing from a strategy. This makes complicated custom strategies much easier to debug, at the cost of a slowdown for use-cases where you catch and ignore such errors. 5.40.0 - 2020-10-30 This release teaches from_type() how to handle ChainMap, Counter, Deque, Generator, Match, OrderedDict, Pattern, and collections.abc.Set (issue #2654). 5.39.0 - 2020-10-30 from_type() now knows how to resolve PEP 585 parameterized standard collection types, which are new in Python 3.9 (issue #2629). 5.38.1 - 2020-10-26 This patch fixes builds(), so that when passed infer for an argument with a non-typing.Optional type annotation and a default value of None to build a class which defines an explicit __signature__ attribute, either None or that type may be generated. This is unlikely to happen unless you are using pydantic (issue #2648). 5.38.0 - 2020-10-24 This release improves our support for @st.composite on a classmethod or staticmethod (issue #2578). 5.37.5 - 2020-10-24 This patch fixes from_type() with Iterable[T] (issue #2645). 5.37.4 - 2020-10-20 This patch teaches the magic() ghostwriter to recognise that pairs of functions like rgb_to_hsv() and hsv_to_rgb() should roundtrip(). 5.37.3 - 2020-10-15 This patch improves builds() and from_type() support for explicitly defined __signature__ attributes, from version 5.8.3, to support generic types from the typing module. Thanks to Rónán Carrigan for identifying and fixing this problem! 5.37.2 - 2020-10-14 This patch fixes from_lark() with version 0.10.1+ of the lark-parser package. |
2020-10-14 18:28:46 by Thomas Klausner | Files touched by this commit (2) | |
Log message: py-hypothesis: update to 5.37.1. This patch fixes some broken links in the "lark" extra documentation. |
2020-10-06 12:52:29 by Thomas Klausner | Files touched by this commit (3) | |
Log message: py-hypothesis: update to 5.37.0. About a year of changes that are only available on a very detailed level. Biggest change: stop supporting Python 2.x Detailed changes here: https://hypothesis.readthedocs.io/en/latest/changes.html |
2020-06-20 09:06:42 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-hypothesis: updated to 4.57.1 4.57.1: This patch improves the type hints and documentation for the django extra. There \ is no runtime change. 4.57.0: This release improves support for the SupportsOp protocols from the typing \ module when using on from_type() as outlined in issue 2292. The following types \ now generate much more varied strategies when called with from_type(): typing.SupportsAbs typing.SupportsBytes typing.SupportsComplex typing.SupportsInt typing.SupportsFloat typing.SupportsRound Note that using from_type() with one of the above strategies will not ensure \ that the the specified function will execute successfully (ie : the strategy \ returned for from_type(typing.SupportsAbs) may include NaNs or things which \ cause the abs() function to error. ) 4.56.3: This release fixes a small internal bug in shrinking which could have caused it \ to perform slightly more tests than were necessary. Fixing this shouldn’t have \ much effect but it will make shrinking slightly faster. 4.56.2: This release removes an internal heuristic that was no longer providing much \ benefit. It is unlikely that there will be any user visible effect. 4.56.1: This release further improves the optimisation algorithm for targeted \ property-based testing. 4.56.0: This release enables deprecation warnings even when the verbosity setting is \ quiet, in preparation for Hypothesis 5.0. Warnings can still be filtered by the standard mechanisms provided in the \ standard-library warnings module. 4.55.4: This release improves Hypothesis’s management of the set of test cases it \ tracks between runs. It will only do anything if you have Phase.target enabled \ and an example database set. In those circumstances it should result in a more \ thorough and faster set of examples that are tried on each run. 4.55.3: This release makes Hypothesis better at generating test cases where generated \ values are duplicated in different parts of the test case. This will be \ especially noticeable with reasonably complex values, as it was already able to \ do this for simpler ones such as integers or floats. 4.55.2: This release expands the set of test cases that Hypothesis saves in its database \ for future runs to include a representative set of “structurally different” \ test cases - e.g. it might try to save test cases where a given list is empty or \ not. Currently this is unlikely to have much user visible impact except to produce \ slightly more consistent behaviour between consecutive runs of a test suite. It \ is mostly groundwork for future improvements which will exploit this \ functionality more effectively. 4.55.1: This patch fixes issue 2257, where from_type() could incorrectly generate \ bytestrings when passed a generic typing.Sequence such as Sequence[set]. 4.55.0: This release adds database support for targeted property-based testing, so the \ best examples based on the targeting will be saved and reused between runs. This \ is mostly laying groundwork for future features in this area, but will also make \ targeted property-based tests more useful during development, where the same \ tests tend to get run over and over again. If max_examples is large, this may increase memory usage significantly under \ some circumstances, but these should be relatively rare. This release also adds a dependency on the sortedcontainers package. 4.54.2: This release improves the optimisation algorithm for targeted property-based \ testing, so that it will find higher quality results more reliably. \ Specifically, in cases where it would previously have got near a local optimum, \ it will now tend to achieve the locally optimal value. 4.54.1: This release is mostly internal changes in support of better testing of the core \ engine. You are unlikely to see much effect, although some internal heuristics \ have changed slightly. 4.54.0: This release adds a dedicated phase for targeted property-based testing, and \ (somewhat) improves the targeting algorithm so that it will find higher quality \ results more reliably. This comes at a cost of making it more likely to get \ stuck in a local optimum. |
2019-12-15 12:28:53 by Adam Ciarcinski | Files touched by this commit (3) | |
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). |