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

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

Branch: CURRENT, Version: 3.82.1, Package name: py27-hypothesis-3.82.1, 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

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] [databases/py-sqlite3] [devel/py-coverage] [lang/python27] [devel/py-enum34] [devel/py-attrs]

Required to build:

Master sites:

SHA1: 5818dc7a7ebe28584d24ae1a506033a20b345f69
RMD160: 62db65ac670f0dcdf70f0e09b94b2be9b485cc01
Filesize: 177.183 KB

Version history: (Expand)

CVS history: (Expand)

   2018-11-05 09:35:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.82.1

This patch fixes :func:~hypothesis.strategies.from_type on Python 2 for classes \ 
where cls.__init__ is object.__init__.

The alphabet argument for :func:~hypothesis.strategies.text now uses its default \ 
value of characters(blacklist_categories=('Cs',)) directly, instead of hiding \ 
that behind alphabet=None and replacing it within the function. Passing None is \ 
therefore deprecated.
   2018-10-29 09:21:57 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.81.0

:class:~hypothesis.stateful.GenericStateMachine and \ 
:class:~hypothesis.stateful.RuleBasedStateMachine now raise an explicit error \ 
when instances of :obj:~hypothesis.settings are assigned to the classes' \ 
settings attribute, which is a no-op (:issue:1643). Instead assign to \ 
SomeStateMachine.TestCase.settings, or use @settings(...) as a class decorator \ 
to handle this automatically.
   2018-10-26 10:05:31 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.80.0

Since :ref:version 3.68.0 <v3.68.0>, :func:~hypothesis.extra.numpy.arrays \ 
checks that values drawn from the elements and fill strategies can be safely \ 
cast to the dtype of the array, and emits a warning otherwise.

This release expands the checks to cover overflow for finite complex64 elements \ 
and string truncation caused by too-long elements or trailing null characters \ 

Tests using :func:@given <hypothesis.given> now shrink errors raised from \ 
:pypi:pytest helper functions, instead of reporting the first example found.

This was previously fixed in :ref:version 3.56.0 <v3.56.0>, but only for \ 
stateful testing.

Traceback elision is now disabled on Python 2, to avoid an import-time \ 
:class:python:SyntaxError under Python < 2.7.9 (Python: :bpo:21591, \ 
:ref:Hypothesis 3.79.2 <v3.79.2>: :issue:1648).

We encourage all users to upgrade to Python 3 before the end of 2019.

This patch shortens tracebacks from Hypothesis, so you can see exactly happened \ 
in your code without having to skip over irrelevant details about our internals \ 

In the example test (see :pull:1582), this reduces tracebacks from nine frames \ 
to just three - and for a test with multiple errors, from seven frames per error \ 
to just one!

If you do want to see the internal details, you can disable frame elision by \ 
setting :obj:~hypothesis.settings.verbosity to debug.

The abstract number classes :class:~python:numbers.Number, \ 
:class:~python:numbers.Complex, :class:~python:numbers.Real, \ 
:class:~python:numbers.Rational, and :class:~python:numbers.Integral are now \ 
supported by the :func:~hypothesis.strategies.from_type strategy. Previously, \ 
you would have to use :func:~hypothesis.strategies.register_type_strategy before \ 
they could be resolved (:issue:1636)

This release adds a CLI flag for verbosity --hypothesis-verbosity to the \ 
Hypothesis pytest plugin, applied after loading the profile specified by \ 
--hypothesis-profile. Valid options are the names of verbosity settings, quiet, \ 
normal, verbose or debug.

The pytest header now correctly reports the current profile if \ 
--hypothesis-profile has been used.
   2018-10-18 12:07:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.78.0

This release has deprecated the generation of integers, floats and fractions \ 
when the conversion of the upper and/ or lower bound is not 100% exact, e.g. \ 
when an integer gets passed a bound that is not a whole number. (:issue:1625)

This minor release adds functionality to :obj:~hypothesis.settings allowing it \ 
to be used as a decorator on :obj:~hypothesis.stateful.RuleBasedStateMachine and \ 

This patch fixes some warnings added by recent releases of :pypi:pydocstyle and \ 
   2018-10-12 13:49:59 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.76.0

This release deprecates using floats for min_size and max_size.
The type hint for average_size arguments has been changed from Optional[int] to \ 
None, because non-None values are always ignored and deprecated.

This patch adds more internal comments to the core engine's sequence-length \ 
shrinker. There should be no user-visible change.

This patch adds additional comments to some of the core engine's internal data \ 
structures. There is no user-visible change.

This patch avoids caching a trivial case, fixing :issue:493.

This patch fixes a broken link in a docstring.

This release deprecates the use of min_size=None, setting the default min_size \ 
to 0 (:issue: 1618).

This patch makes some small internal changes to comply with a new lint setting \ 
in the build. There should be no user-visible change.

This patch fixes :issue:1153, where time spent reifying a strategy was also \ 
counted in the time spent generating the first example. Strategies are now fully \ 
constructed and validated before the timer is started.

This patch fixes some broken formatting and links in the documentation.
   2018-10-03 11:56:53 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-hypothesis: updated to 3.74.0

This release checks that the value of the :attr:~hypothesis.settings.print_blob \ 
setting is a :class:~hypothesis.PrintSettings instance.

Being able to specify a boolean value was not intended, and is now deprecated. \ 
In addition, specifying True will now cause the blob to always be printed, \ 
instead of causing it to be suppressed.

Specifying any value that is not a :class:~hypothesis.PrintSettings or a boolean \ 
is now an error.

Changes the documentation for hypothesis.strategies.datetimes, \ 
hypothesis.strategies.dates, hypothesis.strategies.times to use the new \ 
parameter names min_value and max_value instead of the deprecated names

This patch ensures that Hypothesis deprecation warnings display the code that \ 
emitted them when you're not running in -Werror mode (:issue:652).

Tracebacks involving :func:@composite <hypothesis.strategies.composite> \ 
are now slightly shorter due to some internal refactoring.

This patch fixes errors in the internal comments for one of the shrinker passes. \ 
There is no user-visible change.

This patch substantially improves the distribution of data generated with \ 
:func:~hypothesis.strategies.recursive, and fixes a rare internal error \ 

This release adds the :func:~hypothesis.extra.dpcontracts.fulfill function, \ 
which is designed for testing code that uses :pypi:dpcontracts 0.4 or later for \ 
input validation. This provides some syntactic sugar around use of \ 
:func:~hypothesis.assume, to automatically filter out and retry calls that cause \ 
a precondition check to fail (:issue:1474).

This release makes setting attributes of the :class:hypothesis.settings class an \ 
explicit error. This has never had any effect, but could mislead users who \ 
confused it with the current settings instance hypothesis.settings.default \ 
(which is also immutable). You can change the global settings with :ref:settings \ 
profiles <settings_profiles>.

This patch factors out some common code in the shrinker for iterating over pairs \ 
of data blocks. There should be no user-visible change.
   2018-09-19 13:35:36 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.71.10

This patch allows :func:~hypothesis.strategies.from_type to handle the empty \ 
tuple type, :obj:typing.Tuple[()] <python:typing.Tuple>.

This patch updates some internal comments for :pypi:mypy. There is no \ 
user-visible effect, even for Mypy users.

This patch fixes a rare bug that would cause a particular shrinker pass to raise \ 
an IndexError, if a shrink improvement changed the underlying data in an \ 
unexpected way.

This release fixes the broken cross-references in our docs, and adds a CI check \ 
so we don't add new ones.

This patch fixes two bugs (:issue:944 and :issue:1521), where messages about \ 
:func:@seed <hypothesis.seed> did not check the current verbosity setting, \ 
and the wrong settings were active while executing :ref:explicit examples \ 

This patch fixes a DeprecationWarning added in Python 3.8 (:issue:1576).

This is a no-op release, which implements automatic DOI minting and code \ 
archival of Hypothesis via Zenodo. Thanks to CERN and the EU Horizon 2020 \ 
programme for providing this service!

Check our :gh-file:CITATION file for details, or head right on over to \ 

This release adds the test name to some deprecation warnings, for easier debugging.

This release makes Hypothesis's memory usage substantially smaller for tests \ 
with many examples, by bounding the number of past examples it keeps around.

You will not see much difference unless you are running tests with \ 
:obj:~hypothesis.settings.max_examples set to well over 1000, but if you do have \ 
such tests then you should see memory usage mostly plateau where previously it \ 
would have grown linearly with time.

This patch adds internal comments to some tree traversals in the core engine. \ 
There is no user-visible change.

This release deprecates the coverage-guided testing functionality, as it has \ 
proven brittle and does not really pull its weight.

We intend to replace it with something more useful in the future, but the \ 
feature in its current form does not seem to be worth the cost of using, and \ 
whatever replaces it will likely look very different.
   2018-09-03 09:39:34 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-hypothesis: updated to 3.70.0

This release adds a fullmatch argument to \ 
:func:~hypothesis.strategies.from_regex. When fullmatch=True, the whole example \ 
will match the regex pattern as for :func:python:re.fullmatch.

This release reverts the changes to logging handling in 3.69.11, which broke \ 
test that use the :pypi:pytest caplog fixture internally because all logging was \ 
disabled (:issue:1546).

This patch will hide all logging messages produced by test cases before the \ 
final, minimal, failing test case (:issue:356).

This patch fixes a bug that prevents coverage from reporting unexecuted Python \ 
files (:issue:1085).

This patch improves the packaging of the Python package by adding LICENSE.txt to \ 
the sdist (:issue:1311), clarifying the minimum supported versions of :pypi:pytz \ 
and :pypi:dateutil <python-dateutil> (:issue:1383), and adds keywords to \ 
the metadata (:issue:1520).

This is an internal change which replaces pickle with json to prevent possible \ 
security issues.

This patch ensures that :func:~hypothesis.note prints the note for every test \ 
case when the :obj:~hypothesis.settings.verbosity setting is Verbosity.verbose. \ 
At normal verbosity it only prints from the final test case.

This patch improves the testing of some internal caching. It should have no \ 
user-visible effect.

This change performs a small rename and refactoring in the core engine. There is \ 
no user-visible change.

This change improves the core engine's ability to avoid unnecessary work, by \ 
consulting its cache of previously-tried inputs in more cases.