2019-02-17 00:36:02 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-hypothesis: updated to 4.5.11 4.5.11: This release fixes :issue:1813, a bug introduced in :ref:3.59.1 <v3.59.1>, \ which caused :py:meth:~hypothesis.strategies.random_module to no longer affect \ the body of the test: Although Hypothesis would claim to be seeding the random \ module in fact tests would always run with a seed of zero. 4.5.10: This patch fixes an off-by-one error in the maximum length of \ :func:~hypothesis.strategies.emails. Thanks to Krzysztof Jurewicz for \ :pull:1812. 4.5.9: This patch removes some unused code from the shrinker. There is no user-visible \ change. 4.5.8: This release fixes an internal IndexError in Hypothesis that could sometimes be \ triggered during shrinking. 4.5.7: This release modifies the shrinker to interleave different types of reduction \ operations, e.g. switching between deleting data and lowering scalar values \ rather than trying entirely deletions then entirely lowering. This may slow things down somewhat in the typical case, but has the major \ advantage that many previously difficult to shrink examples should become much \ faster, because the shrinker will no longer tend to stall when trying some \ ineffective changes to the shrink target but will instead interleave it with \ other more effective operations. 4.5.6: This release makes a number of internal changes to the implementation of \ :func:hypothesis.extra.lark.from_lark. These are primarily intended as a \ refactoring, but you may see some minor improvements to performance when \ generating large strings, and possibly to shrink quality. 4.5.5: This patch prints an explanatory note when :issue:1798 is triggered, because the \ error message from Numpy is too terse to locate the problem. 4.5.4: In Python 2, long integers are not allowed in the shape argument to \ :func:~hypothesis.extra.numpy.arrays. Thanks to Ryan Turner for fixing this. 4.5.3: This release makes a small internal refactoring to clarify how Hypothesis \ instructs tests to stop running when appropriate. There is no user-visible \ change. 4.5.2: This release standardises all of the shrinker's internal operations on running \ in a random order. The main effect you will see from this that it should now be much less common \ for the shrinker to stall for a long time before making further progress. In \ some cases this will correspond to shrinking more slowly, but on average it \ should result in faster shrinking. 4.5.1: This patch updates some docstrings, but has no runtime changes. 4.5.0: This release adds exclude_min and exclude_max arguments to \ :func:~hypothesis.strategies.floats, so that you can easily generate values from \ open or half-open intervals |
2019-02-01 12:50:30 by Adam Ciarcinski | Files touched by this commit (3) | |
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. |
2019-01-07 09:31:28 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message: py-hypothesis: updated to 3.86.5 3.86.5: This is a docs-only patch, which fixes some typos and removes a few hyperlinks \ for deprecated features. 3.86.4: This release changes the order in which the shrinker tries to delete data. For \ large and slow tests this may significantly improve the performance of \ shrinking. 3.86.3: This release fixes a bug where certain places Hypothesis internal errors could \ be raised during shrinking when a user exception occurred that suppressed an \ exception Hypothesis uses internally in its generation. The two known ways to trigger this problem were: Errors raised in stateful tests’ teardown function. Errors raised in finally blocks that wrapped a call to data.draw. These cases will now be handled correctly. 3.86.2: This patch is a docs-only change to fix a broken hyperlink. 3.86.1: This patch fixes issue 1732, where integers() would always return long values on \ Python 2. 3.86.0: This release ensures that infinite numbers are never generated by floats() with \ allow_infinity=False, which could previously happen in some cases where one \ bound was also provided. The trivially inconsistent min_value=inf, allow_infinity=False now raises an \ InvalidArgumentError, as does the inverse with max_value. You can still use \ just(inf) to generate inf without violating other constraints. |
2018-12-13 08:11:49 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-hypothesis: updated to 3.83.1 3.83.1: This patch increases the variety of examples generated by st.from_type(type). 3.83.0: Our pytest plugin now warns you when strategy functions have been collected as \ tests, which may happen when e.g. using the :func:@composite \ <hypothesis.strategies.composite> decorator when you should be using \ @given(st.data()) for inline draws. Such functions always pass when treated as \ tests, because the lazy creation of strategies mean that the function body is \ never actually executed! 3.82.6: Hypothesis can now :ref:show statistics <statistics> when running under \ :pypi:pytest-xdist. Previously, statistics were only reported when all tests \ were run in a single process (:issue:700). 3.82.5: This patch fixes :issue:1667, where passing bounds of Numpy dtype int64 to \ :func:~hypothesis.strategies.integers could cause errors on Python 3 due to \ internal rounding. 3.82.4: Hypothesis now seeds and resets the global state of :class:np.random \ <numpy:numpy.random.RandomState> for each test case, to ensure that tests \ are reproducible. This matches and complements the existing handling of the :mod:python:random \ module - Numpy simply maintains an independent PRNG for performance reasons. 3.82.3: This is a no-op release to add the new Framework :: Hypothesis trove classifier \ to :pypi:hypothesis on PyPI. You can use it as a filter to find Hypothesis-related packages such as \ extensions as they add the tag over the coming weeks, or simply visit :doc:our \ curated list <strategies>. 3.82.2: The :ref:Hypothesis for Pandas extension <hypothesis-pandas> is now listed \ in setup.py, so you can pip install hypothesis[pandas]. Thanks to jmshi for this \ contribution. |
2018-11-05 09:35:04 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-hypothesis: updated to 3.82.1 3.82.1: This patch fixes :func:~hypothesis.strategies.from_type on Python 2 for classes \ where cls.__init__ is object.__init__. 3.82.0: 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) | |
Log message: py-hypothesis: updated to 3.81.0 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) | |
Log message: py-hypothesis: updated to 3.80.0 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 \ (:issue:1591). 3.79.4: 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. 3.79.3: 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. 3.79.2: 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 \ (:issue:848). 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. 3.79.1: 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) 3.79.0: 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) | |
Log message: py-hypothesis: updated to 3.78.0 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) 3.77.0: This minor release adds functionality to :obj:~hypothesis.settings allowing it \ to be used as a decorator on :obj:~hypothesis.stateful.RuleBasedStateMachine and \ :obj:~hypothesis.stateful.GenericStateMachine. 3.76.1: This patch fixes some warnings added by recent releases of :pypi:pydocstyle and \ :pypi:mypy. |
2018-10-12 13:49:59 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message: py-hypothesis: updated to 3.76.0 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. 3.75.4: This patch adds more internal comments to the core engine's sequence-length \ shrinker. There should be no user-visible change. 3.75.3: This patch adds additional comments to some of the core engine's internal data \ structures. There is no user-visible change. 3.75.2: This patch avoids caching a trivial case, fixing :issue:493. 3.75.1: This patch fixes a broken link in a docstring. 3.75.0: This release deprecates the use of min_size=None, setting the default min_size \ to 0 (:issue: 1618). 3.74.3: This patch makes some small internal changes to comply with a new lint setting \ in the build. There should be no user-visible change. 3.74.2: 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. 3.74.1: 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) | |
Log message: py-hypothesis: updated to 3.74.0 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. 3.73.5: 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 3.73.4: This patch ensures that Hypothesis deprecation warnings display the code that \ emitted them when you're not running in -Werror mode (:issue:652). 3.73.3: Tracebacks involving :func:@composite <hypothesis.strategies.composite> \ are now slightly shorter due to some internal refactoring. 3.73.2: This patch fixes errors in the internal comments for one of the shrinker passes. \ There is no user-visible change. 3.73.1: This patch substantially improves the distribution of data generated with \ :func:~hypothesis.strategies.recursive, and fixes a rare internal error \ (:issue:1502). 3.73.0: 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). 3.72.0: 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>. 3.71.11: This patch factors out some common code in the shrinker for iterating over pairs \ of data blocks. There should be no user-visible change. |