./devel/py-hypothesis, Python library for property based testing

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 6.123.17, Package name: py312-hypothesis-6.123.17, Maintainer: pkgsrc-users

Hypothesis is a library for testing your Python code against a much
larger range of examples than you would ever want to write by hand.
It's based on the Haskell library, Quickcheck, and is designed to
integrate seamlessly into your existing Python unit testing work
flow.

Hypothesis is both extremely practical and also advances the state
of the art of unit testing by some way. It's easy to use, stable,
and extremely powerful. If you're not using Hypothesis to test your
project then you're missing out.


Required to run:
[devel/py-setuptools] [devel/py-attrs] [devel/py-sortedcontainers] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 408.762 KB

Version history: (Expand)


CVS history: (Expand)


   2025-01-14 07:45:25 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.123.17

6.123.16

Improves an edge case in one of our integer and float shrinking passes.

6.123.15

Improves one of our shrinking passes for integers which require a constant \ 
relative difference to trigger the bug.

6.123.14

Avoid realizing symbolic values from Alternative backends for Hypothesis when \ 
verbosity is verbose or higher.

6.123.13

More internal code refactoring.

6.123.12

DirectoryBasedExampleDatabase now creates files representing database entries \ 
atomically, avoiding a very brief intermediary state where a file could be \ 
created but not yet written to.

6.123.11

Internal code refactoring.

6.123.10

Fixes a bug caused by alternative backends raising \ 
hypothesis.errors.BackendCannotProceed in certain cases.

6.123.9

Add internal type hints to our pretty printer.

6.123.8

The shrinker contains a pass aimed at integers which are required to sum to a \ 
value. This patch extends that pass to floats as well.

6.123.7

Internal type hint additions and refactorings.

6.123.6

@reproduce_failure() now uses a newer internal interface to represent failures. \ 
As a reminder, this representation is not intended to be stable across versions \ 
or with respect to changes in the test.

6.123.5

Internal code refactoring for the typed choice sequence. May have some neutral \ 
effect on shrinking.

6.123.4

This patch improves shrinking involving long strings or byte sequences whose \ 
value is not relevant to the failure.

6.123.3

This release further improves shrinking of strategies using one_of(), allowing \ 
the shrinker to more reliably move between branches of the strategy.
   2024-12-29 10:12:05 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-hypothesis: updated to 6.123.2

6.123.2 - 2024-12-27

The shrinker now uses the typed choice sequence when ordering failing examples. \ 
As a result, Hypothesis may now report a different minimal failing example for \ 
some tests. We expect most cases to remain unchanged.

6.123.1 - 2024-12-24

Our pytest plugin now emits a warning if you set Pytest’s norecursedirs config \ 
option in such a way that the .hypothesis directory would be searched for tests. \ 
This reliably indicates that you’ve made a mistake which slows down test \ 
collection, usually assuming that your configuration extends the set of ignored \ 
patterns when it actually replaces them.

6.123.0 - 2024-12-23

from_type() can now handle constructors with required positional-only arguments \ 
if they have type annotations. Previously, we only passed arguments by keyword.

6.122.7 - 2024-12-23

This patch lays some groundwork for migrating our internal representation to the \ 
typed choice sequence

6.122.6 - 2024-12-21

This patch cleans up some internal code around clamping floats.

6.122.5 - 2024-12-20

This release improves shrinking in some cases, especially for strategies using \ 
one_of(). This will typically improve shrinking speed and may in some cases \ 
improve the end result.

6.122.4 - 2024-12-19

This patch improves generation performance for the provisional domains() \ 
strategy, including its derivative strategies urls() and emails().
   2024-12-16 06:53:02 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.122.3

6.122.3

This patch improves our error and warning messages.

Add a warning for st.text("ascii") - you probably meant \ 
st.text(st.characters(codec="ascii")). Similarly for \ 
"utf-8".
Recommend remedies in the error message of Unsatisfiable.
When @given errors because it was given an extra keyword argument, and the \ 
keyword matches a setting name like max_examples, recommend \ 
@settings(max_examples=...) instead.

6.122.2

This patch updates some outdated external links in our documentation.

6.122.1

Fix from_type() on collections.abc.Callable returning None.

6.122.0

This release adds .span_start() and .span_end() methods to our internal \ 
PrimitiveProvider interface, for use by Alternative backends for Hypothesis.
   2024-11-27 15:50:09 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.119.4

6.119.4

This patch fixes a bug since 6.99.13

6.119.3

Hypothesis collects coverage information during the shrink and explain phases in \ 
order to show a more informative error message. On 3.12+, this uses \ 
sys.monitoring. This patch improves the performance of coverage collection on \ 
3.12+ by disabling events we don’t need.

6.119.2

This patch refactors some internals to prepare for future work using our IR

6.119.1

This patch migrates some more internals (around generating novel inputs) to the \ 
IR layer

6.119.0

This release improves Hypothesis’ handling of ExceptionGroup - it’s now able \ 
to detect marker detections if they’re inside a group and attempts to resolve \ 
them. Note that this handling is still a work in progress and might not handle \ 
edge cases optimally. Please open issues if you encounter any problems or \ 
unexpected behavior with it.

6.118.9

Internal refactorings in preparation for upcoming changes.

6.118.8

Internal renamings.

6.118.7

This patch removes some # type: ignore comments following a mypy update.

6.118.6

When Hypothesis replays examples from its test database that it knows were \ 
previously fully shrunk it will no longer try to shrink them again.

This should significantly speed up development workflows for slow tests, as the \ 
shrinking could contribute a significant delay when rerunning the tests.

In some rare cases this may cause minor reductions in example quality. This was \ 
considered an acceptable tradeoff for the improved test runtime.

6.118.5

This patch avoids computing some string representations we won’t need, giving \ 
a small speedup.

6.118.4

This patch migrates the optimisation algorithm for targeted property-based \ 
testing to our IR layer

6.118.3

This patch adds more type hints to internal Hypothesis code.

6.118.2

This patch migrates the explain phase to our IR layer

6.118.1

This patch updates some internals around how we determine an input is too large \ 
to finish generating.

6.118.0

The urls() strategy no longer generates URLs where the port number is 0.

This change is motivated by the idea that the generated URLs should, at least in \ 
theory, be possible to fetch. The port number 0 is special; if a server binds to \ 
port 0, the kernel will allocate an unused, and non-zero, port instead. That \ 
means that it’s not possible for a server to actually be listening on port 0. \ 
This motivation is briefly described in the documentation for urls().
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-10-24 07:18:41 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.115.5

6.115.5

This patch restores diversity to the outputs of from_type(type).

6.115.4

This release improves pretty printing of nested classes to include the outer \ 
class name in their printed representation.

6.115.3

This patch fixes a regression from version 6.115.2 where generating values from \ 
integers() with certain values for min_value and max_value would error.

6.115.2

This release improves integer shrinking by folding the endpoint upweighting for \ 
integers() into the weights parameter of our IR.

If you maintain an alternative backend as part of our (for now explicitly \ 
unstable) Alternative backends for Hypothesis, this release changes the type of \ 
the weights parameter to draw_integer and may be a breaking change for you.

6.115.1

This patch improves the performance of from_type() with pydantic.types.condate.

6.115.0

This improves the formatting of dataclasses and attrs classes when printing \ 
falsifying examples.
   2024-08-04 08:39:33 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.108.6

6.108.6 - 2024-08-04

This patch improves generation speed in some cases by avoiding pretty-printing \ 
overhead for non-failing examples.

6.108.5 - 2024-07-28

This patch fixes a rare internal error when using integers() with a high number \ 
of examples and certain {min, max}_value parameters.

6.108.4 - 2024-07-22

This patch addresses the issue of hypothesis potentially accessing mocked \ 
time.perf_counter during test execution.

6.108.3 - 2024-07-22

Minor internal-only cleanups to some error-handling and reporting code.
   2024-07-19 09:07:58 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 6.108.2

6.108.2

This patch disables hypothesis.target() on alternative backends where it would \ 
not work.

6.108.1

This patch updates our vendored list of top-level domains, which is used by the \ 
provisional domains() strategy.

6.108.0

This patch changes most Flaky errors to use an ExceptionGroup, which makes the \ 
representation of these errors easier to understand.

6.107.0

The alphabet= argument to from_regex() now accepts unions of characters() and \ 
sampled_from() strategies, in addition to accepting each individually.

This patch also fixes a bug where text(...).filter(re.compile(...).match) could \ 
generate non-matching instances if the regex pattern contained |