File python-hypothesis.changes of Package python-hypothesis
1568
1
-------------------------------------------------------------------
2
Thu Jul 21 10:16:16 UTC 2022 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
3
4
- Update in SLE-15 (bsc#1199282, jsc#PM-3243, jsc#SLE-24629)
5
6
-------------------------------------------------------------------
7
Sun Oct 14 15:26:36 UTC 2018 - Arun Persaud <arun@gmx.de>
8
9
- update to version 3.76.0:
10
* This release deprecates using floats for min_size and max_size.
11
* The type hint for average_size arguments has been changed from
12
Optional[int] to None, because non-None values are always ignored
13
and deprecated.
14
15
- changes from version 3.75.4:
16
* This patch adds more internal comments to the core engine’s
17
sequence-length shrinker. There should be no user-visible change.
18
19
- changes from version 3.75.3:
20
* This patch adds additional comments to some of the core engine’s
21
internal data structures. There is no user-visible change.
22
23
- changes from version 3.75.2:
24
* This patch avoids caching a trivial case, fixing issue #493.
25
26
- changes from version 3.75.1:
27
* This patch fixes a broken link in a docstring. Thanks to Benjamin
28
Lee for this contribution!
29
30
- changes from version 3.75.0:
31
* This release deprecates the use of min_size=None, setting the
32
default min_size to 0 (:issue: 1618).
33
34
- changes from version 3.74.3:
35
* This patch makes some small internal changes to comply with a new
36
lint setting in the build. There should be no user-visible change.
37
38
- changes from version 3.74.2:
39
* This patch fixes issue #1153, where time spent reifying a strategy
40
was also counted in the time spent generating the first
41
example. Strategies are now fully constructed and validated before
42
the timer is started.
43
44
- changes from version 3.74.1:
45
* This patch fixes some broken formatting and links in the
46
documentation.
47
48
- changes from version 3.74.0:
49
* This release checks that the value of the print_blob setting is a
50
PrintSettings instance.
51
* Being able to specify a boolean value was not intended, and is now
52
deprecated. In addition, specifying True will now cause the blob
53
to always be printed, instead of causing it to be suppressed.
54
* Specifying any value that is not a PrintSettings or a boolean is
55
now an error.
56
57
- changes from version 3.73.5:
58
* Changes the documentation for hypothesis.strategies.datetimes,
59
hypothesis.strategies.dates, hypothesis.strategies.times to use
60
the new parameter names min_value and max_value instead of the
61
deprecated names
62
63
- changes from version 3.73.4:
64
* This patch ensures that Hypothesis deprecation warnings display
65
the code that emitted them when you’re not running in -Werror mode
66
(issue #652).
67
68
- changes from version 3.73.3:
69
* Tracebacks involving @composite are now slightly shorter due to
70
some internal refactoring.
71
72
- changes from version 3.73.2:
73
* This patch fixes errors in the internal comments for one of the
74
shrinker passes. There is no user-visible change.
75
76
- changes from version 3.73.1:
77
* This patch substantially improves the distribution of data
78
generated with recursive(), and fixes a rare internal error (issue
79
#1502).
80
81
- changes from version 3.73.0 :
82
* This release adds the fulfill() function, which is designed for
83
testing code that uses dpcontracts 0.4 or later for input
84
validation. This provides some syntactic sugar around use of
85
assume(), to automatically filter out and retry calls that cause a
86
precondition check to fail (issue #1474).
87
88
- changes from version 3.72.0 :
89
* This release makes setting attributes of the hypothesis.settings
90
class an explicit error. This has never had any effect, but could
91
mislead users who confused it with the current settings instance
92
hypothesis.settings.default (which is also immutable). You can
93
change the global settings with settings profiles.
94
95
- changes from version 3.71.11:
96
* This patch factors out some common code in the shrinker for
97
iterating over pairs of data blocks. There should be no
98
user-visible change.
99
100
- changes from version 3.71.10 :
101
* This patch allows from_type() to handle the empty tuple type,
102
typing.Tuple[()].
103
104
- changes from version 3.71.9 :
105
* This patch updates some internal comments for mypy. There is no
106
user-visible effect, even for Mypy users.
107
108
- changes from version 3.71.8:
109
* This patch fixes a rare bug that would cause a particular shrinker
110
pass to raise an IndexError, if a shrink improvement changed the
111
underlying data in an unexpected way.
112
113
- changes from version 3.71.7:
114
* This release fixes the broken cross-references in our docs, and
115
adds a CI check so we don’t add new ones.
116
117
-------------------------------------------------------------------
118
Sun Sep 16 15:37:43 UTC 2018 - Arun Persaud <arun@gmx.de>
119
120
- update to version 3.71.6:
121
* This patch fixes two bugs (issue #944 and issue #1521), where
122
messages about @seed <hypothesis.seed() did not check the current
123
verbosity setting, and the wrong settings were active while
124
executing explicit examples.
125
126
- changes from version 3.71.5:
127
* This patch fixes a DeprecationWarning added in Python 3.8 (issue
128
#1576).
129
* Thanks to tirkarthi for this contribution!
130
131
- changes from version 3.71.4:
132
* This is a no-op release, which implements automatic DOI minting
133
and code archival of Hypothesis via Zenodo. Thanks to CERN and the
134
EU Horizon 2020 programme for providing this service!
135
* Check our CITATION file for details, or head right on over to
136
doi.org/10.5281/zenodo.1412597
137
138
- changes from version 3.71.3:
139
* This release adds the test name to some deprecation warnings, for
140
easier debugging.
141
* Thanks to Sanyam Khurana for the patch!
142
143
- changes from version 3.71.2:
144
* This release makes Hypothesis’s memory usage substantially smaller
145
for tests with many examples, by bounding the number of past
146
examples it keeps around.
147
* You will not see much difference unless you are running tests with
148
max_examples set to well over 1000, but if you do have such tests
149
then you should see memory usage mostly plateau where previously
150
it would have grown linearly with time.
151
152
- changes from version 3.71.1:
153
* This patch adds internal comments to some tree traversals in the
154
core engine. There is no user-visible change.
155
156
-------------------------------------------------------------------
157
Sun Sep 9 22:39:31 CEST 2018 - Matěj Cepl <mcepl@suse.com>
158
159
- Add multibuild to allow running tests.
160
161
-------------------------------------------------------------------
162
Sat Sep 8 19:08:09 UTC 2018 - Arun Persaud <arun@gmx.de>
163
164
- specfile:
165
* updated pytest version, specified pytz version (from setup.py)
166
167
- update to version 3.71.0:
168
* many changes, see https://hypothesis.readthedocs.io/en/latest/changes.html
169
170
-------------------------------------------------------------------
171
Wed Sep 5 10:02:37 UTC 2018 - Matěj Cepl <mcepl@suse.com>
172
173
- Precompile Python files to avoid troubles with mtime and magic values.
174
175
-------------------------------------------------------------------
176
Tue Sep 4 16:01:22 UTC 2018 - Matěj Cepl <mcepl@suse.com>
177
178
- Clean up SPEC
179
- Add %check section, but make it disabled per default (circular
180
dependency on pytest)
181
182
-------------------------------------------------------------------
183
Fri Aug 31 11:55:29 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
184
185
- Drop the pytest-xdist dependency to build on Leap 42.3, as it
186
does not run tests it was quite pointless
187
188
-------------------------------------------------------------------
189
Mon Jul 23 05:25:06 UTC 2018 - arun@gmx.de
190
191
- update to version 3.66.6:
192
* This patch ensures that Hypothesis fully supports Python 3.7, by
193
upgrading from_type() (issue #1264) and fixing some minor issues
194
in our test suite (issue #1148).
195
196
-------------------------------------------------------------------
197
Sun Jul 22 18:47:08 UTC 2018 - arun@gmx.de
198
199
- update to version 3.66.5:
200
* This patch fixes the online docs for various extras, by ensuring
201
that their dependencies are installed on readthedocs.io (issue
202
#1326).
203
204
-------------------------------------------------------------------
205
Fri Jul 20 15:28:09 UTC 2018 - arun@gmx.de
206
207
- update to version 3.66.4:
208
* This release improves the shrinker’s ability to reorder examples.
209
210
-------------------------------------------------------------------
211
Thu Jul 12 15:59:06 UTC 2018 - arun@gmx.de
212
213
- update to version 3.66.1:
214
* This patch fixes a rare bug where an incorrect percentage drawtime
215
could be displayed for a test, when the system clock was changed
216
during a test running under Python 2 (we use time.monotonic()
217
where it is available to avoid such problems). It also fixes a
218
possible zero-division error that can occur when the underlying C
219
library double-rounds an intermediate value in math.fsum() and
220
gets the least significant bit wrong.
221
222
-------------------------------------------------------------------
223
Sat Jul 7 17:11:59 UTC 2018 - arun@gmx.de
224
225
- update to version 3.66.0:
226
* This release improves validation of the alphabet argument to the
227
text() strategy. The following misuses are now deprecated, and
228
will be an error in a future version:
229
+ passing an unordered collection (such as set('abc')), which
230
violates invariants about shrinking and reproducibility
231
+ passing an alphabet sequence with elements that are not strings
232
+ passing an alphabet sequence with elements that are not of
233
length one, which violates any size constraints that may apply
234
235
-------------------------------------------------------------------
236
Fri Jul 6 11:58:50 UTC 2018 - dmueller@suse.com
237
238
- remove redundant pythons buildrequire
239
240
-------------------------------------------------------------------
241
Sun Jul 1 17:47:50 UTC 2018 - arun@gmx.de
242
243
- specfile:
244
* be more specific for %{python_sitelib} in %files
245
246
- update to version 3.65.0:
247
* This release deprecates the max_shrinks setting in favor of an
248
internal heuristic. If you need to avoid shrinking examples, use
249
the phases setting instead. (issue #1235)
250
251
- changes from version 3.64.2:
252
* This release fixes a bug where an internal assertion error could
253
sometimes be triggered while shrinking a failing test.
254
255
- changes from version 3.64.1:
256
* This patch fixes type-checking errors in our vendored
257
prety-printer, which were ignored by our mypy config but visible
258
for anyone else (whoops). Thanks to Pi Delport for reporting issue
259
#1359 so promptly.
260
261
- changes from version 3.64.0:
262
* This release adds an interface which can be used to insert a
263
wrapper between the original test function and @given (issue
264
#1257). This will be particularly useful for test runner
265
extensions such as pytest-trio, but is not recommended for direct
266
use by other users of Hypothesis.
267
268
- changes from version 3.63.0:
269
* This release adds a new mechanism to infer strategies for classes
270
defined using attrs, based on the the type, converter, or
271
validator of each attribute. This inference is now built in to
272
builds() and from_type().
273
* On Python 2, from_type() no longer generates instances of int when
274
passed long, or vice-versa.
275
276
- changes from version 3.62.0:
277
* This release adds PEP 484 type hints to Hypothesis on a
278
provisional basis, using the comment-based syntax for Python 2
279
compatibility. You can read more about our type hints here.
280
* It also adds the py.typed marker specified in PEP 561. After you
281
pip install hypothesis, mypy 0.590 or later will therefore
282
type-check your use of our public interface!
283
284
-------------------------------------------------------------------
285
Sun Jun 24 15:40:53 UTC 2018 - arun@gmx.de
286
287
- specfile:
288
* use %{version} in source
289
290
- update to version 3.61.0:
291
* This release deprecates the use of settings as a context manager,
292
the use of which is somewhat ambiguous.Users should define
293
settings with global state or with the @settings(...) decorator.
294
295
- changes from version 3.60.1:
296
* Fixed a bug in generating an instance of a Django model from a
297
strategy where the primary key is generated as part of the
298
strategy. See details here.
299
300
- changes from version 3.60.0:
301
* This release add initialize decorator for stateful testing
302
(originally discussed in issue #1216). initialize act as a special
303
rule that is only called once, and all initialize rules are
304
guaranteed to be called before any normal rule is called.
305
306
- changes from version 3.59.3:
307
* This is a no-op release to take into account some changes to the
308
release process. It should have no user visible effect.
309
310
- changes from version 3.59.2:
311
* This adds support for partially sorting examples which cannot be
312
fully sorted. For example, [5, 4, 3, 2, 1, 0] with a constraint
313
that the first element needs to be larger than the last becomes
314
[1, 2, 3, 4, 5, 0].
315
316
- changes from version 3.59.1:
317
* This patch uses random.getstate() and random.setstate() to restore
318
the PRNG state after @given runs deterministic tests. Without
319
restoring state, you might have noticed problems such as issue
320
#1266. The fix also applies to stateful testing (issue #702).
321
322
- changes from version 3.59.0:
323
* This release adds the emails() strategy, which generates unicode
324
strings representing an email address.
325
326
- changes from version 3.58.1:
327
* This improves the shrinker. It can now reorder examples: 3 1 2
328
becomes 1 2 3.
329
330
- changes from version 3.58.0:
331
* This adds a new extra timezones() strategy that generates dateutil
332
timezones. Depends on python-dateutil.
333
334
-------------------------------------------------------------------
335
Mon Jun 4 19:27:19 UTC 2018 - toddrme2178@gmail.com
336
337
- Use github source archive as recommended by upstream.
338
- Remove unneeded python-hypothesis-build.patch
339
340
-------------------------------------------------------------------
341
Thu May 31 02:56:55 UTC 2018 - toddrme2178@gmail.com
342
343
- Update to 3.57.0
344
* Using an unordered collection with the :func:`~hypothesis.strategies.permutations`
345
strategy has been deprecated because the order in which e.g. a set shrinks is
346
arbitrary. This may cause different results between runs.
347
- Update to 3.56.10 - 2018-05-16
348
* This release makes :obj:`~hypothesis.settings.define_setting`
349
aprivate method, which has the effect of hiding it from the
350
documentation.
351
- Update to 3.56.9
352
* This is another release with no functionality changes as part of changes to
353
Hypothesis's new release tagging scheme.
354
- Update to 3.56.8
355
* This is a release with no functionality changes that moves Hypothesis over to
356
anew release tagging scheme.
357
- Update to 3.56.7
358
* This release provides a performance improvement for most tests, but in
359
particular users of ``sampled_from`` who don't have numpy installed should see
360
asignificant performance improvement.
361
- Update to 3.56.6
362
* This patch contains further internal work to support Mypy.
363
There are no user-visible changes... yet.
364
- Update to 3.56.5
365
* This patch contains some internal refactoring to run :pypi:`mypy` in CI.
366
There are no user-visible changes.
367
- Update to 3.56.4
368
* This release involves some very minor internal clean up and should have no
369
user visible effect at all.
370
- Update to 3.56.3
371
* This release fixes a problem introduced in :ref:`3.56.0 <v3.56.0>` where
372
setting the hypothesis home directory (through currently undocumented
373
means) would no longer result in the default database location living
374
in the new home directory.
375
- Update to 3.56.2
376
* This release fixes a problem introduced in :ref:`3.56.0 <v3.56.0>` where
377
setting :obj:`~hypothesis.settings.max_examples` to ``1`` would result in tests
378
failing with ``Unsatisfiable``. This problem could also occur in other harder
379
to trigger circumstances (e.g. by setting it to a low value, having a hard to
380
satisfy assumption, and disabling health checks).
381
- Update to 3.56.1
382
* This release fixes a problem that was introduced in :ref:`3.56.0 <v3.56.0>`:
383
Use of the :envvar:`HYPOTHESIS_VERBOSITY_LEVEL` environment variable was, rather
384
than deprecated, actually broken due to being read before various setup
385
the deprecation path needed was done. It now works correctly (and emits a
386
deprecation warning).
387
- Update to 3.56.0
388
* This release deprecates several redundant or internally oriented
389
:class:`~hypothesis.settings`, working towards an orthogonal set of
390
configuration options that are widely useful *without* requiring any
391
knowledge of our internals (:issue:`535`).
392
+ Deprecated settings that no longer have any effect are no longer
393
shown in the ``__repr__`` unless set to a non-default value.
394
+ :obj:`~hypothesis.settings.perform_health_check` is deprecated, as it
395
duplicates :obj:`~hypothesis.settings.suppress_health_check`.
396
+ :obj:`~hypothesis.settings.max_iterations` is deprecated and disabled,
397
because we can usually get better behaviour from an internal heuristic
398
than a user-controlled setting.
399
+ :obj:`~hypothesis.settings.min_satisfying_examples` is deprecated and
400
disabled, due to overlap with the
401
:obj:`~hypothesis.settings.HealthCheck.filter_too_much` healthcheck
402
and poor interaction with :obj:`~hypothesis.settings.max_examples`.
403
+ :envvar:`HYPOTHESIS_VERBOSITY_LEVEL` is now deprecated. Set
404
:obj:`~hypothesis.settings.verbosity` through the profile system instead.
405
+ Examples tried by :func:`~hypothesis.find` are now reported at ``debug``
406
verbosity level (as well as ``verbose`` level).
407
- Update to 3.55.6
408
* This release fixes a somewhat obscure condition (:issue:`1230`) under which you
409
could occasionally see a failing test trigger an assertion error inside
410
Hypothesis instead of failing normally.
411
- Update to 3.55.5
412
* This patch fixes one possible cause of :issue:`966`. When running
413
Python 2 with hash randomisation, passing a :obj:`python:bytes` object
414
to :func:`python:random.seed` would use ``version=1``, which broke
415
:obj:`~hypothesis.settings.derandomize` (because the seed depended on
416
arandomised hash). If :obj:`~hypothesis.settings.derandomize` is
417
*still* nondeterministic for you, please open an issue.
418
- Update to 3.55.4
419
* This patch makes a variety of minor improvements to the documentation,
420
and improves a few validation messages for invalid inputs.
421
- Update to 3.55.3
422
* This release updates the URL metadata associated with the PyPI package (again).
423
It has no other user visible effects.
424
- Update to 3.55.2
425
* This release updates the URL metadata associated with the PyPI package.
426
It has no other user visible effects.
427
- Update to 3.55.1
428
* This patch relaxes constraints on the expected values returned
429
by the standard library function :func:`hypot` and the internal
430
helper function :func:`~hypotheses.internal.cathetus`, this to
431
fix near-exact test-failures on some 32-bit systems.
432
- Update to 3.55.0
433
* This release includes several improvements to the handling of the
434
:obj:`~hypothesis.settings.database` setting.
435
+ The :obj:`~hypothesis.settings.database_file` setting was a historical
436
artefact, and you should just use :obj:`~hypothesis.settings.database`
437
directly.
438
+ The :envvar:`HYPOTHESIS_DATABASE_FILE` environment variable is
439
deprecated, in favor of :meth:`~hypothesis.settings.load_profile` and
440
the :obj:`~hypothesis.settings.database` setting.
441
+ If you have not configured the example database at all and the default
442
location is not usable (due to e.g. permissions issues), Hypothesis
443
will fall back to an in-memory database. This is not persisted between
444
sessions, but means that the defaults work on read-only filesystems.
445
- Update to 3.54.0
446
* This release improves the :func:`~hypotheses.strategies.complex_numbers`
447
strategy, which now supports ``min_magnitude`` and ``max_magnitude``
448
arguments, along with ``allow_nan`` and ``allow_infinity`` like for
449
:func:`~hypotheses.strategies.floats`.
450
Thanks to J.J. Green for this feature.
451
- Update to 3.53.0
452
* This release removes support for Django 1.8, which reached end of life on
453
2018-04-01. You can see Django's release and support schedule
454
`on the Django Project website <https://www.djangoproject.com/download/#supported-versions>`_.
455
- Update to 3.52.3
456
* This patch fixes the :obj:`~hypothesis.settings.min_satisfying_examples` settings
457
documentation, by explaining that example shrinking is tracked at the level
458
of the underlying bytestream rather than the output value.
459
* The output from :func:`~hypothesis.find` in verbose mode has also been
460
adjusted - see :ref:`the example session <verbose-output>` - to avoid
461
duplicating lines when the example repr is constant, even if the underlying
462
representation has been shrunken.
463
- Update to 3.52.2
464
* This release improves the output of failures with
465
:ref:`rule based stateful testing <rulebasedstateful>` in two ways:
466
The output from it is now usually valid Python code.
467
When the same value has two different names because it belongs to two different
468
bundles, it will now display with the name associated with the correct bundle
469
for a rule argument where it is used.
470
- Update to 3.52.1
471
* This release improves the behaviour of :doc:`stateful testing <stateful>`
472
in two ways:
473
Previously some runs would run no steps (:issue:`376`). This should no longer
474
happen.
475
RuleBasedStateMachine tests which used bundles extensively would often shrink
476
terribly. This should now be significantly improved, though there is likely
477
a lot more room for improvement.
478
* This release also involves a low level change to how ranges of integers are
479
handles which may result in other improvements to shrink quality in some cases.
480
- Update to 3.52.0
481
* This release deprecates use of :func:`@settings(...) <hypothesis.settings>`
482
as a decorator, on functions or methods that are not also decorated with
483
:func:`@given <hypothesis.given>`. You can still apply these decorators
484
in any order, though you should only do so once each.
485
* Applying :func:`@given <hypothesis.given>` twice was already deprecated, and
486
applying :func:`@settings(...) <hypothesis.settings>` twice is deprecated in
487
this release and will become an error in a future version. Neither could ever
488
be used twice to good effect.
489
* Using :func:`@settings(...) <hypothesis.settings>` as the sole decorator on
490
atest is completely pointless, so this common usage error will become an
491
error in a future version of Hypothesis.
492
- Update to 3.51.0
493
* This release deprecates the ``average_size`` argument to
494
:func:`~hypothesis.strategies.lists` and other collection strategies.
495
You should simply delete it wherever it was used in your tests, as it
496
no longer has any effect.
497
In early versions of Hypothesis, the ``average_size`` argument was treated
498
as a hint about the distribution of examples from a strategy. Subsequent
499
improvements to the conceptual model and the engine for generating and
500
shrinking examples mean it is more effective to simply describe what
501
constitutes a valid example, and let our internals handle the distribution.
502
- Update to 3.50.3
503
* This patch contains some internal refactoring so that we can run
504
with warnings as errors in CI.
505
- Update to 3.50.2
506
* This has no user-visible changes except one slight formatting change to one docstring, to avoid a deprecation warning.
507
- Update to 3.50.1
508
* This patch fixes an internal error introduced in :ref:`3.48.0 <v3.48.0>`, where a check
509
for the Django test runner would expose import-time errors in Django
510
configuration (:issue:`1167`).
511
- Update to 3.50.0
512
* This release improves validation of numeric bounds for some strategies.
513
+ :func:`~hypothesis.strategies.integers` and :func:`~hypothesis.strategies.floats`
514
now raise ``InvalidArgument`` if passed a ``min_value`` or ``max_value``
515
which is not an instance of :class:`~python:numbers.Real`, instead of
516
various internal errors.
517
+ :func:`~hypothesis.strategies.floats` now converts its bounding values to
518
the nearest float above or below the min or max bound respectively, instead
519
of just casting to float. The old behaviour was incorrect in that you could
520
generate ``float(min_value)``, even when this was less than ``min_value``
521
itself (possible with eg. fractions).
522
+ When both bounds are provided to :func:`~hypothesis.strategies.floats` but
523
there are no floats in the interval, such as ``[(2**54)+1 .. (2**55)-1]``,
524
InvalidArgument is raised.
525
+ :func:`~hypothesis.strategies.decimals` gives a more useful error message
526
if passed a string that cannot be converted to :class:`~python:decimal.Decimal`
527
in a context where this error is not trapped.
528
Code that previously **seemed** to work may be explicitly broken if there
529
were no floats between ``min_value`` and ``max_value`` (only possible with
530
non-float bounds), or if a bound was not a :class:`~python:numbers.Real`
531
number but still allowed in :obj:`python:math.isnan` (some custom classes
532
with a ``__float__`` method).
533
- Update to 3.49.1
534
* This patch fixes our tests for Numpy dtype strategies on big-endian platforms,
535
where the strategy behaved correctly but the test assumed that the native byte
536
order was little-endian.
537
There is no user impact unless you are running our test suite on big-endian
538
platforms. Thanks to Graham Inggs for reporting :issue:`1164`.
539
- Update to 3.49.0
540
* This release deprecates passing ``elements=None`` to collection strategies,
541
such as :func:`~hypothesis.strategies.lists`.
542
Requiring ``lists(nothing())`` or ``builds(list)`` instead of ``lists()``
543
means slightly more typing, but also improves the consistency and
544
discoverability of our API - as well as showing how to compose or
545
construct strategies in ways that still work in more complex situations.
546
Passing a nonzero max_size to a collection strategy where the elements
547
strategy contains no values is now deprecated, and will be an error in a
548
future version. The equivalent with ``elements=None`` is already an error.
549
- Update to 3.48.1
550
* This patch will minimize examples that would come out non-minimal in previous versions. Thanks to Kyle Reeve for this patch.
551
- Update to 3.48.0
552
* This release improves some "unhappy paths" when using Hypothesis
553
with the standard library :mod:`python:unittest` module:
554
+ Applying :func:`@given <hypothesis.given>` to a non-test method which is
555
overridden from :class:`python:unittest.TestCase`, such as ``setUp``,
556
raises :attr:`a new health check <hypothesis.settings.not_a_test_method>`.
557
(:issue:`991`)
558
+ Using :meth:`~python:unittest.TestCase.subTest` within a test decorated
559
with :func:`@given <hypothesis.given>` would leak intermediate results
560
when tests were run under the :mod:`python:unittest` test runner.
561
Individual reporting of failing subtests is now disabled during a test
562
using :func:`@given <hypothesis.given>`. (:issue:`1071`)
563
+ :func:`@given <hypothesis.given>` is still not a class decorator, but the
564
error message if you try using it on a class has been improved.
565
As a related improvement, using :class:`django:django.test.TestCase` with
566
:func:`@given <hypothesis.given>` instead of
567
:class:`hypothesis.extra.django.TestCase` raises an explicit error instead
568
of running all examples in a single database transaction.
569
- Update to 3.47.0
570
* :obj:`~hypothesis.settings.register_profile` now accepts keyword arguments
571
for specific settings, and the parent settings object is now optional.
572
Using a ``name`` for a registered profile which is not a string was never
573
suggested, but it is now also deprecated and will eventually be an error.
574
- Update to 3.46.2
575
* This release removes an unnecessary branch from the code, and has no user-visible impact.
576
- Update to 3.46.1
577
* This changes only the formatting of our docstrings and should have no user-visible effects.
578
- Update to 3.46.0
579
* :func:`~hypothesis.strategies.characters` has improved docs about
580
what arguments are valid, and additional validation logic to raise a
581
clear error early (instead of e.g. silently ignoring a bad argument).
582
Categories may be specified as the Unicode 'general category'
583
(eg ``u'Nd'``), or as the 'major category' (eg ``[u'N', u'Lu']``
584
is equivalent to ``[u'Nd', u'Nl', u'No', u'Lu']``).
585
* In previous versions, general categories were supported and all other
586
input was silently ignored. Now, major categories are supported in
587
addition to general categories (which may change the behaviour of some
588
existing code), and all other input is deprecated.
589
- Update to 3.45.5
590
* This patch improves strategy inference in :mod:`hypothesis.extra.django`
591
to account for some validators in addition to field type - see
592
:issue:`1116` for ongoing work in this space.
593
Specifically, if a :class:`~django:django.db.models.CharField` or
594
:class:`~django:django.db.models.TextField` has an attached
595
:class:`~django:django.core.validators.RegexValidator`, we now use
596
:func:`~hypothesis.strategies.from_regex` instead of
597
:func:`~hypothesis.strategies.text` as the underlying strategy.
598
This allows us to generate examples of the default
599
:class:`~django:django.contrib.auth.models.User` model, closing :issue:`1112`.
600
- Update to 3.45.4
601
* This patch improves some internal debugging information, fixes
602
atypo in a validation error message, and expands the documentation
603
for new contributors.
604
- Add license file
605
606
-------------------------------------------------------------------
607
Tue Mar 6 15:45:20 UTC 2018 - aplanas@suse.com
608
609
- Allows Recommends and Suggest in Fedora
610
611
-------------------------------------------------------------------
612
Fri Mar 2 09:58:08 UTC 2018 - chris@computersalat.de
613
614
- fix deps for setuptools
615
616
-------------------------------------------------------------------
617
Tue Feb 27 17:36:35 UTC 2018 - aplanas@suse.com
618
619
- Recommends only for SUSE
620
621
-------------------------------------------------------------------
622
Fri Feb 23 20:19:52 UTC 2018 - tbechtold@suse.com
623
624
update to version 3.45.3
625
* Bump version to 3.44.26 and update changelog
626
* That doesn't need to be conditional in the shrinker
627
* Add release notes
628
* Wrong backticks
629
* Response to review
630
* Switch over to an adaptive greedy algorithm
631
* Clarify dependencies on enum34, Django
632
* don't try to assign to *args
633
* Don't split expression over multiple lines needlessly
634
* define labels in top-level constants since they're expensive-ish to compute
635
* Change how we track whether a block is shrinking
636
* Add tests for zig zagging behaviour
637
* Update isort from 4.2.15 to 4.3.2
638
* Add a section about deferring errors
639
* specify target and args for build() together as *target_and_args
640
* Fix typo
641
* Bump version to 3.44.17 and update changelog
642
* Add flaky annotation to test_can_generate_interval_endpoints
643
* Add notion of labels to strategies
644
* Bump version to 3.44.25 and update changelog
645
* Update pytest from 3.3.2 to 3.4.0
646
* address more code review comments
647
* Bump version to 3.44.19 and update changelog
648
* Remove just and of course
649
* Bump version to 3.45.2 and update changelog
650
* don't refer to hypothesis_internal_target from bad implementation
651
* Add a release note for the source changes
652
* Add quality tests on Python 2
653
* Update safety from 1.6.1 to 1.7.0
654
* Fix typo in docstring
655
* Bump the required version of attrs
656
* Fix unbalanced quotes
657
* Pass access to blocks and intervals through a level of indirection
658
* Run 'make format' with the new version of isort
659
* dont use 'target' in naming arg to builds()
660
* Improve section on testing
661
* Fix tests expecting specific example counts
662
* add docstrings in base_defines_strategy
663
* fix test_{nested_}discarded_intervals_are_not_in_labels to not assert exact equality
664
* Clean up argument handling logic so we have full coverage again
665
* Deal with another old-typing-module problem
666
* write release note
667
* Update isort from 4.3.2 to 4.3.3
668
* Run 'make requirements'
669
* Add tests for labelling behaviour
670
* Expand on what we track
671
* Whoops new style class
672
* Update pytz from 2017.3 to 2018.3
673
* Move interval calculation to shrinker
674
* Convert types from strings to hbytes
675
* Only replace examples, not joined intervals. Make more things examples
676
* Switch hyphens to em-dashes
677
* Update autoflake from 1.0 to 1.1
678
* Bump version to 3.44.21 and update changelog
679
* Update python-gitlab from 1.2.0 to 1.3.0
680
* Use more descriptive names
681
* Move instructions on running tests to testing guide
682
* Lets not have slow tests like that in tests/cover
683
* Track changed blocks and remove a common offset from them
684
* give every Example a label
685
* Bump version to 3.44.18 and update changelog
686
* Update isort from 4.3.3 to 4.3.4
687
* Add tests for new behaviour
688
* Bump version to 3.44.22 and update changelog
689
* test_saves_negated_examples_in_covering docstring wording tweak
690
* remove old implementation
691
* Fix style issues in src
692
* fix based on Zac's code review
693
* Update imagesize from 0.7.1 to 1.0.0
694
* Update coverage from 4.5 to 4.5.1
695
* Update tests to account for new covering examples
696
* Update certifi from 2017.11.5 to 2018.1.18
697
* Update typing from 3.6.2 to 3.6.4
698
* Track examples by draw index
699
* rename target arg so we can use targets requiring an argument 'target'
700
* Update babel from 2.5.2 to 2.5.3
701
* Update pytest-xdist from 1.21.0 to 1.22.0
702
* Add a release note
703
* Monospace engine.py
704
* Move flake8 config to tox.ini
705
* Add flake8-docstrings
706
* improve test_saves_negated_examples_in_covering to check what we actually care about
707
* tweaks from code review
708
* There was no good reason for that test to be that complicated
709
* Correct env naming
710
* Clean up unfinished examples at the end
711
* Add a guide for working on internals
712
* ideally -> usually
713
* Update autopep8 from 1.3.3 to 1.3.4
714
* Bump version to 3.45.3 and update changelog
715
* Bump version to 3.45.0 and update changelog
716
* Make test_minimize_sets_of_sets non-flaky
717
* Remove seed
718
* Remove reference to intervals
719
* Update coverage from 4.4.2 to 4.5
720
* Bump version to 3.45.1 and update changelog
721
* Slight rewording
722
* Bump version to 3.44.24 and update changelog
723
* Update doctest
724
* Bump version to 3.44.20 and update changelog
725
* add myself to contributors
726
* Bump version to 3.44.23 and update changelog
727
* Update babel from 2.5.1 to 2.5.2
728
* don't use backticks in exception messages
729
* remove duplicate
730
* Change the way we calculate average_size's default
731
* fix formatting of release file
732
* Remove a bunch of dead code and comments
733
* Revert "Switch hyphens to em-dashes"
734
* Track labels on examples
735
* Fix style issues in tests
736
* Clarify specificity there
737
* Update sphinx from 1.6.6 to 1.6.7
738
* Update sphinx from 1.6.7 to 1.7.0
739
* Those spaces aren't needed
740
* Run tests on 2.7.14
741
* Just exit with the return code
742
* fix indentation of docstrings produced by renamed_arguments
743
* fix formatting
744
* Update pygithub from 1.35 to 1.36
745
- Use pythonhosted.org sdist for Source
746
- Comment BuildRequires for tests. Tests in %check section are
747
currently disabled
748
749
-------------------------------------------------------------------
750
Wed Jan 17 15:46:40 UTC 2018 - tchvatal@suse.com
751
752
- Condition py2 only dependencies so we do not pull them on py3
753
only scenario
754
755
-------------------------------------------------------------------
756
Wed Jan 17 03:55:40 UTC 2018 - arun@gmx.de
757
758
- update to version 3.44.16:
759
* This release improves test case reduction for recursive data
760
structures. Hypothesis now guarantees that whenever a strategy
761
calls itself recursively (usually this will happen because you are
762
using deferred()), any recursive call may replace the top level
763
value. e.g. given a tree structure, Hypothesis will always try
764
replacing it with a subtree.
765
* Additionally this introduces a new heuristic that may in some
766
circumstances significantly speed up test case reduction -
767
Hypothesis should be better at immediately replacing elements
768
drawn inside another strategy with their minimal possible value.
769
770
- changes from version 3.44.15:
771
* from_type() can now resolve recursive types such as binary trees
772
(issue #1004). Detection of non-type arguments has also improved,
773
leading to better error messages in many cases involving forward
774
references.
775
776
- changes from version 3.44.14 :
777
* This release fixes a bug in the shrinker that prevented the
778
optimisations in 3.44.6 from working in some cases. It would not
779
have worked correctly when filtered examples were nested
780
(e.g. with a set of integers in some range).
781
* This would not have resulted in any correctness problems, but
782
shrinking may have been slower than it otherwise could be.
783
784
- changes from version 3.44.13:
785
* This release changes the average bit length of values drawn from
786
integers() to be much smaller. Additionally it changes the
787
shrinking order so that now size is considered before sign -
788
e.g. -1 will be preferred to +10.
789
* The new internal format for integers required some changes to the
790
minimizer to make work well, so you may also see some improvements
791
to example quality in unrelated areas.
792
793
- changes from version 3.44.12:
794
* This changes Hypothesis’s internal implementation of weighted
795
sampling. This will affect example distribution and quality, but
796
you shouldn’t see any other effects.
797
798
- changes from version 3.44.11 :
799
* This is a change to some internals around how Hypothesis handles
800
avoiding generating duplicate examples and seeking out novel
801
regions of the search space.
802
* You are unlikely to see much difference as a result of it, but it
803
fixes a bug where an internal assertion could theoretically be
804
triggered and has some minor effects on the distribution of
805
examples so could potentially find bugs that have previously been
806
missed.
807
808
- changes from version 3.44.10:
809
* This patch avoids creating debug statements when debugging is
810
disabled. Profiling suggests this is a 5-10% performance
811
improvement (issue #1040).
812
813
-------------------------------------------------------------------
814
Sat Jan 6 17:11:29 UTC 2018 - arun@gmx.de
815
816
- update to version 3.44.9:
817
* This patch blacklists null characters ('\x00') in automatically
818
created strategies for Django CharField and TextField, due to a
819
database issue which was recently fixed upstream (Hypothesis issue
820
#1045).
821
822
-------------------------------------------------------------------
823
Sat Jan 6 07:24:23 UTC 2018 - arun@gmx.de
824
825
- update to version 3.44.8:
826
* This release makes the Hypothesis shrinker slightly less greedy in
827
order to avoid local minima - when it gets stuck, it makes a small
828
attempt to search around the final example it would previously
829
have returned to find a new starting point to shrink from. This
830
should improve example quality in some cases, especially ones
831
where the test data has dependencies among parts of it that make
832
it difficult for Hypothesis to proceed.
833
834
-------------------------------------------------------------------
835
Thu Jan 4 17:06:43 UTC 2018 - arun@gmx.de
836
837
- update to version 3.44.7:
838
* This release adds support for Django 2 in the hypothesis-django
839
extra.
840
* This release drops support for Django 1.10, as it is no longer
841
supported by the Django team.
842
843
-------------------------------------------------------------------
844
Wed Jan 3 22:43:51 UTC 2018 - arun@gmx.de
845
846
- update to version 3.44.6:
847
* This release speeds up test case reduction in many examples by
848
being better at detecting large shrinks it can use to discard
849
redundant parts of its input. This will be particularly noticeable
850
in examples that make use of filtering and for some integer
851
ranges.
852
853
- changes from version 3.44.5:
854
* This is a no-op release that updates the year range on all of the
855
copyright headers in our source to include 2018.
856
857
-------------------------------------------------------------------
858
Wed Jan 3 10:03:42 UTC 2018 - tchvatal@suse.com
859
860
- Disable the tests as it is too flaky to be reliable
861
862
-------------------------------------------------------------------
863
Sun Dec 31 05:55:59 UTC 2017 - arun@gmx.de
864
865
- update to version 3.44.4:
866
* This release fixes issue #1044, which slowed tests by up to 6% due
867
to broken caching.
868
869
-------------------------------------------------------------------
870
Thu Dec 21 18:22:00 UTC 2017 - arun@gmx.de
871
872
- update to version 3.44.3:
873
* This release improves the shrinker in cases where examples drawn
874
earlier can affect how much data is drawn later (e.g. when you
875
draw a length parameter in a composite and then draw that many
876
elements). Examples found in cases like this should now be much
877
closer to minimal.
878
879
- changes from version 3.44.2:
880
* This is a pure refactoring release which changes how Hypothesis
881
manages its set of examples internally. It should have no
882
externally visible effects.
883
884
- changes from version 3.44.1:
885
* This release fixes issue #997, in which under some circumstances
886
the body of tests run under Hypothesis would not show up when run
887
under coverage even though the tests were run and the code they
888
called outside of the test file would show up normally.
889
890
- changes from version 3.44.0:
891
* This release adds a new feature: The @reproduce_failure, designed
892
to make it easy to use Hypothesis’s binary format for examples to
893
reproduce a problem locally without having to share your example
894
database between machines.
895
This also changes when seeds are printed:
896
+ They will no longer be printed for normal falsifying examples,
897
as there are now adequate ways of reproducing those for all
898
cases, so it just contributes noise.
899
+ They will once again be printed when reusing examples from the
900
database, as health check failures should now be more reliable
901
in this scenario so it will almost always work in this case.
902
903
- changes from version 3.43.1:
904
* This release fixes a bug with Hypothesis’s database management -
905
examples that were found in the course of shrinking were saved in
906
a way that indicated that they had distinct causes, and so they
907
would all be retried on the start of the next test. The intended
908
behaviour, which is now what is implemented, is that only a
909
bounded subset of these examples would be retried.
910
911
-------------------------------------------------------------------
912
Sun Dec 17 01:26:12 UTC 2017 - arun@gmx.de
913
914
- update to version 3.43.0:
915
* HypothesisDeprecationWarning now inherits from FutureWarning
916
instead of DeprecationWarning, as recommended by PEP 565 for
917
user-facing warnings (issue #618). If you have not changed the
918
default warnings settings, you will now see each distinct
919
HypothesisDeprecationWarning instead of only the first.
920
921
-------------------------------------------------------------------
922
Fri Dec 15 08:55:52 UTC 2017 - ecsos@opensuse.org
923
924
- Add patch python-hypothesis-build.patch
925
to fix Factory build error
926
927
-------------------------------------------------------------------
928
Thu Dec 14 15:00:24 UTC 2017 - tchvatal@suse.com
929
930
- Update to 3.42.2:
931
* Few tiny fixes
932
- Switch to github tarball to contain tests
933
- Make sure to state all buildtime dependencies
934
935
-------------------------------------------------------------------
936
Tue Dec 12 00:54:26 UTC 2017 - arun@gmx.de
937
938
- update to version 3.42.1:
939
* This release has some internal cleanup, which makes reading the
940
code more pleasant and may shrink large examples slightly faster.
941
942
-------------------------------------------------------------------
943
Sat Dec 9 17:39:47 UTC 2017 - arun@gmx.de
944
945
- specfile:
946
* removed conditional for test as requested in SR 555280
947
* added coverage as a requirement
948
949
- update to version 3.42.0:
950
* This release deprecates hypothesis[fakefactory], which was
951
designed as a transition strategy but does not support example
952
shrinking or coverage-guided discovery.
953
954
-------------------------------------------------------------------
955
Thu Dec 7 16:46:53 UTC 2017 - arun@gmx.de
956
957
- update to version 3.41.0:
958
* sampled_from() can now sample from one-dimensional numpy
959
ndarrays. Sampling from multi-dimensional ndarrays still results
960
in a deprecation warning. Thanks to Charlie Tanksley for this
961
patch.
962
963
-------------------------------------------------------------------
964
Wed Dec 6 02:52:35 UTC 2017 - arun@gmx.de
965
966
- update to version 3.40.1:
967
968
3.40.1 - 2017-12-04
969
* This release makes two changes:
970
+ It makes the calculation of some of the metadata that Hypothesis
971
uses for shrinking occur lazily. This should speed up
972
performance of test case generation a bit because it no longer
973
calculates information it doesn’t need.
974
+ It improves the shrinker for certain classes of nested
975
examples. e.g. when shrinking lists of lists, the shrinker is
976
now able to concatenate two adjacent lists together into a
977
single list. As a result of this change, shrinking may get
978
somewhat slower when the minimal example found is large.
979
980
- changes from version 3.40.0:
981
* This release improves how various ways of seeding Hypothesis
982
interact with the example database:
983
+ Using the example database with seed() is now deprecated. You
984
should set database=None if you are doing that. This will only
985
warn if you actually load examples from the database while using
986
@seed.
987
+ The derandomize will behave the same way as @seed.
988
+ Using --hypothesis-seed will disable use of the database.
989
+ If a test used examples from the database, it will not suggest
990
using a seed to reproduce it, because that won’t work.
991
992
- changes from version 3.39.0:
993
* This release adds a new health check that checks if the smallest
994
“natural” possible example of your test case is very large - this
995
will tend to cause Hypothesis to generate bad examples and be
996
quite slow.
997
998
- changes from version 3.38.9:
999
* This is a documentation release to improve the documentation of
1000
shrinking behaviour for Hypothesis’s strategies.
1001
1002
- changes from version 3.38.8:
1003
* This release improves the performance of characters() when using
1004
blacklist_characters and from_regex() when using negative
1005
character classes.
1006
1007
- changes from version 3.38.7:
1008
* This is a patch release for from_regex(), which had a bug in
1009
handling of the re.VERBOSE flag (issue #992). Flags are now
1010
handled correctly when parsing regex.
1011
1012
-------------------------------------------------------------------
1013
Tue Nov 28 19:04:24 UTC 2017 - arun@gmx.de
1014
1015
- update to version 3.38.6:
1016
* This patch changes a few byte-string literals from double to
1017
single quotes, thanks to an update in unify. There are no
1018
user-visible changes.
1019
1020
-------------------------------------------------------------------
1021
Sun Nov 26 21:26:33 UTC 2017 - arun@gmx.de
1022
1023
- update to version 3.38.5:
1024
* This fixes the repr of strategies using lambda that are defined
1025
inside decorators to include the lambda source.
1026
This would mostly have been visible when using the statistics
1027
functionality - lambdas used for e.g. filtering would have shown
1028
up with a <unknown> as their body. This can still happen, but it
1029
should happen less often now.
1030
1031
-------------------------------------------------------------------
1032
Wed Nov 22 19:42:32 UTC 2017 - arun@gmx.de
1033
1034
- update to version 3.38.4:
1035
* This release updates the reported statistics so that they show
1036
approximately what fraction of your test run time is spent in data
1037
generation (as opposed to test execution).
1038
1039
- changes from version 3.38.3:
1040
* This is a documentation release, which ensures code examples are
1041
up to date by running them as doctests in CI (issue #711).
1042
1043
- changes from version 3.38.2:
1044
* This release changes the behaviour of the deadline setting when
1045
used with data(): Time spent inside calls to data.draw will no
1046
longer be counted towards the deadline time.
1047
* As a side effect of some refactoring required for this work, the
1048
way flaky tests are handled has changed slightly. You are unlikely
1049
to see much difference from this, but some error messages will
1050
have changed.
1051
1052
- changes from version 3.38.1:
1053
* This patch has a variety of non-user-visible refactorings,
1054
removing various minor warts ranging from indirect imports to
1055
typos in comments.
1056
1057
-------------------------------------------------------------------
1058
Sun Nov 19 05:19:56 UTC 2017 - arun@gmx.de
1059
1060
- update to version 3.38.0:
1061
* This release overhauls the health check system in a variety of
1062
small ways. It adds no new features, but is nevertheless a minor
1063
release because it changes which tests are likely to fail health
1064
checks.
1065
* The most noticeable effect is that some tests that used to fail
1066
health checks will now pass, and some that used to pass will
1067
fail. These should all be improvements in accuracy. In particular:
1068
+ New failures will usually be because they are now taking into
1069
account things like use of data() and assume() inside the test
1070
body.
1071
+ New failures may also be because for some classes of example the
1072
way data generation performance was measured was artificially
1073
faster than real data generation (for most examples that are
1074
hitting performance health checks the opposite should be the
1075
case).
1076
+ Tests that used to fail health checks and now pass do so because
1077
the health check system used to run in a way that was subtly
1078
different than the main Hypothesis data generation and lacked
1079
some of its support for e.g. large examples.
1080
* If your data generation is especially slow, you may also see your
1081
tests get somewhat faster, as there is no longer a separate health
1082
check phase. This will be particularly noticeable when rerunning
1083
test failures.
1084
1085
-------------------------------------------------------------------
1086
Tue Nov 14 01:32:07 UTC 2017 - arun@gmx.de
1087
1088
- update to version 3.37.0:
1089
* This is a deprecation release for some health check related
1090
features.
1091
* The following are now deprecated:
1092
+ Passing exception_in_generation to suppress_health_check. This
1093
no longer does anything even when passed - All errors that occur
1094
during data generation will now be immediately reraised rather
1095
than going through the health check mechanism.
1096
+ Passing random_module to suppress_health_check. This hasn’t done
1097
anything for a long time, but was never explicitly
1098
deprecated. Hypothesis always seeds the random module when
1099
running @given tests, so this is no longer an error and
1100
suppressing it doesn’t do anything.
1101
+ Passing non-HealthCheck values in suppress_health_check. This
1102
was previously allowed but never did anything useful.
1103
1104
-------------------------------------------------------------------
1105
Sat Nov 11 17:16:21 UTC 2017 - arun@gmx.de
1106
1107
- update to version 3.36.1:
1108
* This is a yak shaving release, mostly concerned with our own
1109
tests.
1110
While getfullargspec() was documented as deprecated in Python 3.5,
1111
it never actually emitted a warning. Our code to silence this
1112
(nonexistent) warning has therefore been removed.
1113
We now run our tests with DeprecationWarning as an error, and made
1114
some minor changes to our own tests as a result. This required
1115
similar upstream updates to coverage and execnet (a test-time
1116
dependency via pytest-xdist).
1117
There is no user-visible change in Hypothesis itself, but we
1118
encourage you to consider enabling deprecations as errors in your
1119
own tests.
1120
1121
-------------------------------------------------------------------
1122
Tue Nov 7 23:22:24 UTC 2017 - arun@gmx.de
1123
1124
- update to version 3.36.0:
1125
* This release adds a setting to the public API, and does some
1126
internal cleanup:
1127
+ The derandomize setting is now documented (issue #890)
1128
+ Removed - and disallowed - all ‘bare excepts’ in Hypothesis
1129
(issue #953)
1130
+ Documented the strict setting as deprecated, and updated the
1131
build so our docs always match deprecations in the code.
1132
1133
- changes from version 3.35.0:
1134
* This minor release supports constraining uuids() to generate
1135
uuid.UUID`s of a particular version. (:issue:`721)
1136
1137
-------------------------------------------------------------------
1138
Sat Nov 4 02:01:40 UTC 2017 - arun@gmx.de
1139
1140
- update to version 3.34.1:
1141
* This patch updates the documentation to suggest builds(callable)
1142
instead of just(callable()).
1143
1144
-------------------------------------------------------------------
1145
Fri Nov 3 05:13:56 UTC 2017 - arun@gmx.de
1146
1147
- update to version 3.34.0:
1148
* Hypothesis now emits deprecation warnings if you apply @given more
1149
than once to a target.
1150
Applying @given repeatedly wraps the target multiple times. Each
1151
wrapper will search the space of of possible parameters
1152
separately. This is equivalent but will be much more inefficient
1153
than doing it with a single call to @given.
1154
For example, instead of @given(booleans()) @given(integers()), you
1155
could write @given(booleans(), integers())
1156
1157
- changes from version 3.33.1 :
1158
* builds() would try to infer a strategy for required positional
1159
arguments of the target from type hints, even if they had been
1160
given to builds() as positional arguments (issue #946). Now it
1161
only infers missing required arguments.
1162
* An internal introspection function wrongly reported self as a
1163
required argument for bound methods, which might also have
1164
affected builds(). Now it knows better.
1165
1166
-------------------------------------------------------------------
1167
Tue Oct 17 01:47:00 UTC 2017 - arun@gmx.de
1168
1169
- update to version 3.33.0:
1170
* This release supports strategy inference for more field types in
1171
Django models() - you can now omit an argument for Date, Time,
1172
Duration, Slug, IP Address, and UUID fields. (issue #642)
1173
* Strategy generation for fields with grouped choices now selects
1174
choices from each group, instead of selecting from the group
1175
names.
1176
1177
-------------------------------------------------------------------
1178
Sun Oct 15 22:19:10 UTC 2017 - arun@gmx.de
1179
1180
- specfile:
1181
* removed sed for src/hypothesis/tools/mergedbs.py, not in tar-ball anymore
1182
1183
- update to version 3.32.2:
1184
* This patch removes the mergedb tool, introduced in Hypothesis
1185
1.7.1 on an experimental basis. It has never actually worked, and
1186
the new Hypothesis example database is designed to make such a
1187
tool unnecessary.
1188
1189
- changes from version 3.32.1:
1190
* This patch has two improvements for strategies based on
1191
enumerations.
1192
* from_type() now handles enumerations correctly, delegating to
1193
sampled_from(). Previously it noted that Enum.__init__ has no
1194
required arguments and therefore delegated to builds(), which
1195
would subsequently fail.
1196
* When sampling from an enum.Flag, we also generate combinations of
1197
members. Eg for Flag('Permissions', 'READ, WRITE, EXECUTE') we can
1198
now generate, Permissions.READ, Permissions.READ|WRITE, and so on.
1199
1200
-------------------------------------------------------------------
1201
Mon Oct 9 04:06:23 UTC 2017 - arun@gmx.de
1202
1203
- update to version 3.32.0:
1204
* This changes the default value of use_coverage=True to True when
1205
running on pypy (it was already True on CPython).
1206
1207
It was previously set to False because we expected it to be too
1208
slow, but recent benchmarking shows that actually performance of
1209
the feature on pypy is fairly acceptable - sometimes it’s slower
1210
than on CPython, sometimes it’s faster, but it’s generally within
1211
a factor of two either way.
1212
1213
- changes from version 3.31.6:
1214
* This patch improves the quality of strategies inferred from Numpy
1215
dtypes:
1216
+ Integer dtypes generated examples with the upper half of their
1217
(non-sign) bits set to zero. The inferred strategies can now
1218
produce any representable integer.
1219
+ Fixed-width unicode- and byte-string dtypes now cap the internal
1220
example length, which should improve example and shrink quality.
1221
+ Numpy arrays can only store fixed-size strings internally, and
1222
allow shorter strings by right-padding them with null
1223
bytes. Inferred string strategies no longer generate such
1224
values, as they can never be retrieved from an array. This
1225
improves shrinking performance by skipping useless values.
1226
+ This has already been useful in Hypothesis - we found an
1227
overflow bug in our Pandas support, and as a result indexes()
1228
and range_indexes() now check that min_size and max_size are at
1229
least zero.
1230
1231
- changes from version 3.31.5:
1232
* This release fixes a performance problem in tests where
1233
+ use_coverage is set to True.
1234
+ Tests experience a slow-down proportionate to the amount of code
1235
they cover. This is still the case, but the factor is now low
1236
enough that it should be unnoticeable. Previously it was large
1237
and became much larger in 3.28.4.
1238
1239
- changes from version 3.31.4:
1240
* from_type() failed with a very confusing error if passed a
1241
NewType() (issue #901). These psudeo-types are now unwrapped
1242
correctly, and strategy inference works as expected.
1243
1244
-------------------------------------------------------------------
1245
Fri Oct 6 19:43:51 UTC 2017 - arun@gmx.de
1246
1247
- update to version 3.31.3:
1248
* This release makes some small optimisations to our use of coverage
1249
that should reduce constant per-example overhead. This is probably
1250
only noticeable on examples where the test itself is quite
1251
fast. On no-op tests that don’t test anything you may see up to a
1252
fourfold speed increase (which is still significantly slower than
1253
without coverage). On more realistic tests the speed up is likely
1254
to be less than that.
1255
1256
-------------------------------------------------------------------
1257
Thu Oct 5 12:11:08 UTC 2017 - dimstar@opensuse.org
1258
1259
- Add python-attrs and python-coverage requires, matching the info
1260
of setup.py.
1261
1262
-------------------------------------------------------------------
1263
Tue Oct 3 01:14:16 UTC 2017 - arun@gmx.de
1264
1265
- update to version 3.31.2:
1266
* long list of updates, see
1267
https://hypothesis.readthedocs.io/en/latest/changes.html
1268
1269
-------------------------------------------------------------------
1270
Mon Jul 10 11:52:42 UTC 2017 - jengelh@inai.de
1271
1272
- Ensure neutrality of description.
1273
1274
-------------------------------------------------------------------
1275
Thu Jun 29 17:51:17 UTC 2017 - aloisio@gmx.com
1276
1277
- Update to version 3.11.6
1278
(see https://github.com/HypothesisWorks/hypothesis-python/blob/3.11.6/docs/changes.rst)
1279
- Added fdupes
1280
- Updated homepage URL
1281
1282
-------------------------------------------------------------------
1283
Tue Feb 21 14:06:42 UTC 2017 - jmatejek@suse.com
1284
1285
- update for singlespec
1286
- test requirements are now conditional --with=test, to shorten build loop
1287
for new submission
1288
(this will be reverted soon)
1289
- update to 3.6.1
1290
* better thread safety
1291
* support for --hypothesis-show-statistics in pytest
1292
* better python 3.4 support
1293
* renamed fake-factory dependency to Faker
1294
1295
-------------------------------------------------------------------
1296
Thu May 12 16:35:11 UTC 2016 - toddrme2178@gmail.com
1297
1298
- Fix download URL.
1299
1300
-------------------------------------------------------------------
1301
Mon May 9 17:57:36 UTC 2016 - toddrme2178@gmail.com
1302
1303
- Update to 3.1.3
1304
+ Single bug fix release
1305
* Another charmap problem. In 3.1.2 text/characters would break on systems
1306
which had /tmp/ mounted on a different partition than the Hypothesis
1307
storage directory (usually in home). This fixes that.
1308
- Update to 3.1.2
1309
+ Single bug fix release:
1310
* Anything which used a text() or characters() strategy was broken on
1311
Windows and I hadn’t updated appveyor to use the new repository location
1312
so I didn’t notice. This is now fixed and windows support should work
1313
correctly.
1314
- Update to 3.1.1
1315
+ Minor bug fix release.
1316
* Fix concurrency issue when running tests that use text() from multiple
1317
processes at once (Bug #302, thanks to Alex Chan).
1318
* Improve performance of code using lists with max_size (thanks to Cristi
1319
Cobzarenco).
1320
* Fix install on Python 2 with ancient versions of pip so that it installs
1321
the enum34 backport (thanks to Donald Stufft for telling me how to do
1322
this).
1323
* Remove duplicated __all__ exports from hypothesis.strategies (thanks to
1324
Piët Delport).
1325
* Update headers to point to new repository location.
1326
* Allow use of strategies that can’t be used in find() (e.g. choices) in
1327
stateful testing.
1328
- Update to 3.1.0
1329
* Add a ‘nothing’ strategy that never successfully generates values.
1330
* sampled_from() and one_of() can both now be called with an empty argument
1331
list, in which case they also never generate any values.
1332
* one_of may now be called with a single argument that is a collection of
1333
strategies as well as as varargs.
1334
* Add a ‘runner’ strategy which returns the instance of the current test
1335
object if there is one.
1336
* ‘Bundle’ for RuleBasedStateMachine is now a normal(ish) strategy and can be
1337
used as such.
1338
* Tests using RuleBasedStateMachine should now shrink significantly better.
1339
* Hypothesis now uses a pretty-printing library internally, compatible with
1340
IPython’s pretty printing protocol (actually using the same code). This may
1341
improve the quality of output in some cases.
1342
* As a ‘phases’ setting that allows more fine grained control over which
1343
parts of the process Hypothesis runs
1344
* Add a suppress_health_check setting which allows you to turn off specific
1345
health checks in a fine grained manner.
1346
* Fix a bug where lists of non fixed size would always draw one more element
1347
than they included. This mostly didn’t matter, but if would cause problems with
1348
empty strategies or ones with side effects.
1349
* Add a mechanism to the Django model generator to allow you to explicitly
1350
request the default value (thanks to Jeremy Thurgood for this one).
1351
- Update to 3.0.5
1352
* Fix a bug where Hypothesis would now error on py.test development versions.
1353
- Update to 3.0.4
1354
* Fix a bug where Hypothesis would error when running on Python 2.7.3 or
1355
earlier because it was trying to pass a bytearray object to struct.unpack
1356
(which is only supported since 2.7.4).
1357
- Update to 3.0.3
1358
* Fix version parsing of py.test to work with py.test release candidates
1359
* More general handling of the health check problem where things could fail
1360
because of a cache miss - now one “free” example is generated before the
1361
start of the health check run.
1362
- Update to 3.0.2
1363
* Under certain circumstances, strategies involving text() buried inside some
1364
other strategy (e.g. text().filter(...) or recursive(text(), ...)) would
1365
cause a test to fail its health checks the first time it ran. This was
1366
caused by having to compute some related data and cache it to disk. On
1367
travis or anywhere else where the .hypothesis directory was recreated this
1368
would have caused the tests to fail their health check on every run. This
1369
is now fixed for all the known cases, although there could be others
1370
lurking.
1371
- Update to 3.0.1
1372
* Fix a case where it was possible to trigger an “Unreachable” assertion when
1373
running certain flaky stateful tests.
1374
* Improve shrinking of large stateful tests by eliminating a case where it
1375
was hard to delete early steps.
1376
* Improve efficiency of drawing binary(min_size=n, max_size=n) significantly
1377
by provide a custom implementation for fixed size blocks that can bypass a
1378
lot of machinery.
1379
* Set default home directory based on the current working directory at the
1380
point Hypothesis is imported, not whenever the function first happens to be
1381
called.
1382
- Update to 3.0.0
1383
+ Externally this looks like a very small release. It has one small breaking
1384
change that probably doesn’t affect anyone at all (some behaviour that
1385
never really worked correctly is now outright forbidden) but necessitated a
1386
major version bump and one visible new feature.
1387
Internally this is a complete rewrite. Almost nothing other than the
1388
public API is the same.
1389
+ New features:
1390
* Addition of data() strategy which allows you to draw arbitrary data
1391
interactively within the test.
1392
* New “exploded” database format which allows you to more easily check the
1393
example database into a source repository while supporting merging.
1394
* Better management of how examples are saved in the database.
1395
* Health checks will now raise as errors when they fail. It was too easy to
1396
have the warnings be swallowed entirely.
1397
+ New limitations:
1398
* choices and streaming strategies may no longer be used with find().
1399
Neither may data() (this is the change that necessitated a major version
1400
bump).
1401
+ Feature removal:
1402
* The ForkingTestCase executor has gone away. It may return in some more
1403
working form at a later date.
1404
+ Performance improvements:
1405
* A new model which allows flatmap, composite strategies and stateful
1406
testing to perform much better. They should also be more reliable.
1407
* Filtering may in some circumstances have improved significantly. This
1408
will help especially in cases where you have lots of values with
1409
individual filters on them, such as lists(x.filter(...)).
1410
* Modest performance improvements to the general test runner by avoiding
1411
expensive operations
1412
* In general your tests should have got faster. If they’ve instead got
1413
significantly slower, I’m interested in hearing about it.
1414
+ Data distribution:
1415
* The data distribution should have changed significantly. This may uncover
1416
bugs the previous version missed. It may also miss bugs the previous
1417
version could have uncovered. Hypothesis is now producing less strongly
1418
correlated data than it used to, but the correlations are extended over
1419
more of the structure.
1420
+ Shrinking:
1421
* Shrinking quality should have improved. In particular Hypothesis can now
1422
perform simultaneous shrinking of separate examples within a single test
1423
(previously it was only able to do this for elements of a single
1424
collection).
1425
In some cases performance will have improved, in some cases it will have
1426
got worse but generally shouldn’t have by much.
1427
- Update to 2.0.0
1428
+ This release cleans up all of the legacy that accrued in the course of
1429
Hypothesis 1.0. These are mostly things that were emitting deprecation
1430
warnings in 1.19.0, but there were a few additional changes.
1431
In particular:
1432
* non-strategy values will no longer be converted to strategies when used
1433
in given or find.
1434
* FailedHealthCheck is now an error and not a warning.
1435
* Handling of non-ascii reprs in user types have been simplified by using
1436
raw strings in more places in Python 2.
1437
* given no longer allows mixing positional and keyword arguments.
1438
* given no longer works with functions with defaults.
1439
* given no longer turns provided arguments into defaults - they will not
1440
appear in the argspec at all.
1441
* the basic() strategy no longer exists.
1442
* the n_ary_tree strategy no longer exists.
1443
* the average_list_length setting no longer exists. Note: If you’re using
1444
using recursive() this will cause you a significant slow down. You should
1445
pass explicit average_size parameters to collections in recursive calls.
1446
* @rule can no longer be applied to the same method twice.
1447
* Python 2.6 and 3.3 are no longer officially supported, although in
1448
practice they still work fine.
1449
+ This also includes two non-deprecation changes:
1450
* given’s keyword arguments no longer have to be the rightmost arguments
1451
and can appear anywhere in the method signature.
1452
* The max_shrinks setting would sometimes not have been respected.
1453
- Update to 1.19.0
1454
+ This release heralds the beginning of a new and terrible age of Hypothesis
1455
2.0.
1456
It’s primary purpose is some final deprecations prior to said release. The
1457
goal is that if your code emits no warnings under this release then it
1458
will probably run unchanged under Hypothesis 2.0 (there are some caveats
1459
to this: 2.0 will drop support for some Python versions, and if you’re
1460
using internal APIs then as usual that may break without warning).
1461
+ It does have two new features:
1462
* New @seed() decorator which allows you to manually seed a test. This may
1463
be harmlessly combined with and overrides the derandomize setting.
1464
* settings objects may now be used as a decorator to fix those settings to
1465
a particular @given test.
1466
+ API changes (old usage still works but is deprecated):
1467
* Settings has been renamed to settings (lower casing) in order to make the
1468
decorator usage more natural.
1469
* Functions for the storage directory that were in hypothesis.settings are
1470
now in a new hypothesis.configuration module.
1471
+ Additional deprecations:
1472
* the average_list_length setting has been deprecated in favour of being
1473
explicit.
1474
* the basic() strategy has been deprecated as it is impossible to support
1475
it under a Conjecture based model, which will hopefully be implemented at
1476
some point in the 2.x series.
1477
* the n_ary_tree strategy (which was never actually part of the public API)
1478
has been deprecated.
1479
* Passing settings or random as keyword arguments to given is deprecated
1480
(use the new functionality instead)
1481
+ Bug fixes:
1482
* No longer emit PendingDeprecationWarning for __iter__ and StopIteration
1483
in streaming() values.
1484
* When running in health check mode with non strict, don’t print quite so
1485
many errors for an exception in reify.
1486
* When an assumption made in a test or a filter is flaky, tests will now
1487
raise Flaky instead of UnsatisfiedAssumption.
1488
- Update to 1.18.1
1489
+ Two behind the scenes changes:
1490
* Hypothesis will no longer write generated code to the file system. This
1491
will improve performance on some systems (e.g. if you’re using
1492
PythonAnywhere which is running your code from NFS) and prevent some
1493
annoying interactions with auto-restarting systems.
1494
* Hypothesis will cache the creation of some strategies. This can
1495
significantly improve performance for code that uses flatmap or composite
1496
and thus has to instantiate strategies a lot.
1497
- Update to 1.18.0
1498
+ Features:
1499
* Tests and find are now explicitly seeded off the global random module.
1500
This means that if you nest one inside the other you will now get a
1501
health check error. It also means that you can control global
1502
randomization by seeding random.
1503
* There is a new random_module() strategy which seeds the global random
1504
module for you and handles things so that you don’t get a health check
1505
warning if you use it inside your tests.
1506
* floats() now accepts two new arguments: allow_nan and allow_infinity.
1507
These default to the old behaviour, but when set to False will do what
1508
the names suggest.
1509
+ Bug fixes:
1510
* Fix a bug where tests that used text() on Python 3.4+ would not actually
1511
be deterministic even when explicitly seeded or using the derandomize
1512
mode, because generation depended on dictionary iteration order which was
1513
affected by hash randomization.
1514
* Fix a bug where with complicated strategies the timing of the initial
1515
health check could affect the seeding of the subsequent test, which would
1516
also render supposedly deterministic tests non-deterministic in some
1517
scenarios.
1518
* In some circumstances flatmap() could get confused by two structurally
1519
similar things it could generate and would produce a flaky test where the
1520
first time it produced an error but the second time it produced the other
1521
value, which was not an error. The same bug was presumably also possible
1522
in composite().
1523
* flatmap() and composite() initial generation should now be moderately
1524
faster. This will be particularly noticeable when you have many values
1525
drawn from the same strategy in a single run, e.g. constructs like
1526
lists(s.flatmap(f)). Shrinking performance may have suffered, but this
1527
didn’t actually produce an interestingly worse result in any of the
1528
standard scenarios tested.
1529
- Update to 1.17.1
1530
* A small bug fix release, which fixes the fact that the ‘note’ function
1531
could not be used on tests which used the @example decorator to provide
1532
explicit examples.
1533
- Update to 1.17.0
1534
+ This is actually the same release as 1.16.1, but 1.16.1 has been pulled
1535
because it contains the following additional change that was not intended
1536
to be in a patch release (it’s perfectly stable, but is a larger change
1537
that should have required a minor version bump):
1538
* Hypothesis will now perform a series of “health checks” as part of
1539
running your tests. These detect and warn about some common error
1540
conditions that people often run into which wouldn’t necessarily have
1541
caued the test to fail but would cause e.g. degraded performance or
1542
confusing results.
1543
- Update to 1.16.1
1544
* A small bugfix release that allows bdists for Hypothesis to be built under
1545
2.7 - the compat3.py file which had Python 3 syntax wasn’t intended to be
1546
loaded under Python 2, but when building a bdist it was. In particular
1547
this would break running setup.py test.
1548
1549
-------------------------------------------------------------------
1550
Wed Dec 9 10:06:43 UTC 2015 - dmueller@suse.com
1551
1552
- update to 1.16.0:
1553
* Functions from hypothesis.strategies will no longer raise InvalidArgument on bad arguments
1554
* Errors caused by accidentally invoking the legacy API are now much less confusing
1555
* hypothesis.extra.django is 1.9 compatible.
1556
* When tests are run with max_shrinks=0 this will now still rerun the test on failure
1557
1558
-------------------------------------------------------------------
1559
Tue Nov 24 12:48:51 UTC 2015 - toddrme2178@gmail.com
1560
1561
- Fix license naming.
1562
1563
-------------------------------------------------------------------
1564
Tue Nov 10 07:38:36 UTC 2015 - tbechtold@suse.com
1565
1566
- Initial packaging (version 1.14.0)
1567
1568