1
0

24 Commits

Author SHA256 Message Date
7858dde8f4 Accepting request 1302460 from devel:languages:python
- Update to 6.138.13
  * text() now occasionally generates from a preselected list of strings
    which are likely to find bugs.
  * Improves input validation for several strategies in our pandas extra,
    so that they raise a helpful InvalidArgument rather than OverflowError.
  * New "hypothesis-urandom" backend, which draws randomness from
    /dev/urandom instead of Python’s PRNG.
  * randoms() no longer produces 1.0, matching the exclusive upper bound
    of random.Random.random
  * Nesting @given inside of @given is now a HealthCheck failure.
  * Add is_hypothesis_test(), for third-party libraries which want to
    determine whether a test has been defined with Hypothesis.
  * Add on_observation() to the internal alternative backends interface.
  * New hypothesis.extra.django.SimpleTestCase
  * New run_conformance_test(), for use in testing implementations of
    alternative backends.
  * Fixes a substantial performance regression in stateful tests from
    computing string representations, present since version 6.131.20.
  * Improves the thread safety of many functions and decorators.
  * Before this release, Hypothesis did not require that super().__init__()
    be called in SearchStrategy subclasses. Subclassing SearchStrategy is
    not supported or part of the public API, but if you are subclassing it
    anyway, you will need to make sure to call super().__init__().
  * When a failure found by an alternative backend does not reproduce under
    the Hypothesis backend, we now raise FlakyBackendFailure.
  * When a test is executed concurrently from multiple threads, DeadlineExceeded
    is now disabled.
  * Add specified callback methods to the observability interface. The previous
    TESTCASE_CALLBACKS is deprecated.
  * Add support for Python 3.14.

OBS-URL: https://build.opensuse.org/request/show/1302460
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=87
2025-09-03 19:07:17 +00:00
fb479f3066 skip more flaky tests
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=217
2025-09-02 15:26:06 +00:00
a81c9b5da6 - Update to 6.138.13
* text() now occasionally generates from a preselected list of strings
    which are likely to find bugs.
  * Improves input validation for several strategies in our pandas extra,
    so that they raise a helpful InvalidArgument rather than OverflowError.
  * New "hypothesis-urandom" backend, which draws randomness from
    /dev/urandom instead of Python’s PRNG.
  * randoms() no longer produces 1.0, matching the exclusive upper bound
    of random.Random.random
  * Nesting @given inside of @given is now a HealthCheck failure.
  * Add is_hypothesis_test(), for third-party libraries which want to
    determine whether a test has been defined with Hypothesis.
  * Add on_observation() to the internal alternative backends interface.
  * New hypothesis.extra.django.SimpleTestCase
  * New run_conformance_test(), for use in testing implementations of
    alternative backends.
  * Fixes a substantial performance regression in stateful tests from
    computing string representations, present since version 6.131.20.
  * Improves the thread safety of many functions and decorators.
  * Before this release, Hypothesis did not require that super().__init__()
    be called in SearchStrategy subclasses. Subclassing SearchStrategy is
    not supported or part of the public API, but if you are subclassing it
    anyway, you will need to make sure to call super().__init__().
  * When a failure found by an alternative backend does not reproduce under
    the Hypothesis backend, we now raise FlakyBackendFailure.
  * When a test is executed concurrently from multiple threads, DeadlineExceeded
    is now disabled.
  * Add specified callback methods to the observability interface. The previous
    TESTCASE_CALLBACKS is deprecated.
  * Add support for Python 3.14.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=216
2025-09-02 13:08:58 +00:00
3fb6b0cf7f Accepting request 1300719 from devel:languages:python
- Convert to libalternatives on SLE-16-based and newer systems only

OBS-URL: https://build.opensuse.org/request/show/1300719
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=86
2025-08-22 15:46:52 +00:00
f6737c0898 - Convert to libalternatives on SLE-16-based and newer systems only
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=214
2025-08-21 08:33:41 +00:00
130d498c7b Accepting request 1291700 from devel:languages:python
- Convert to libalternatives

OBS-URL: https://build.opensuse.org/request/show/1291700
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=85
2025-07-10 21:15:05 +00:00
9e4bc49b22 - Convert to libalternatives
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=212
2025-07-10 13:19:50 +00:00
822c7f1ba6 Accepting request 1273194 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1273194
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=84
2025-04-30 17:02:22 +00:00
29ec9b946f - Update to 6.127.8
* Fix a type-hinting regression from version 6.125.1, where we would
    no longer guarantee the type of the argument to .filter predicates
  * Improve shrinking behavior for values from text() and binary()
    which contain duplicate elements, like "zzzabc".

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=210
2025-04-28 15:42:18 +00:00
46b7872b30 Accepting request 1250597 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1250597
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=83
2025-03-06 13:48:07 +00:00
be5be99774 - Update to 6.127.6
* This patch tweaks the performance of the target phase, avoiding
    aborting some test cases when it would be better to finish
    generating them.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=208
2025-03-06 10:02:15 +00:00
25e6dbe519 Accepting request 1249999 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1249999
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=82
2025-03-05 12:39:28 +00:00
5470a198ce - Update to 6.127.5
* Improve shrinking of non-standard NaN float values
  * Update our vendored list of top-level domains, which is used by 
    the provisional domains() strategy.
  * Fix a bug where from_type() would error on certain types 
    involving Protocol

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=206
2025-03-04 09:07:06 +00:00
888d54ecb2 Accepting request 1248638 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1248638
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=81
2025-02-27 13:49:06 +00:00
74dfac8da0 - Update to 6.172.2:
- Adjust type hints for the pub-sub database implementation in
    version 6.126.0, and remove a remnant debug print in its
    implementation.
- 6.127.1:
  - Improve the clarity of printing counterexamples in stateful
    testing, by avoiding confusing Bundle references with equivalent
    values drawn from a regular strategy.
- 6.127.0:
  - This releases adds support for type aliases created with the type
    statement (new in python 3.12) to from_type() and
    register_type_strategy().
- 6.126.0:
  - The Hypothesis database now supports a pub-sub interface to
    efficiently listen for changes in the database, via .add_listener
    and .remove_listener. While all databases that ship with
    Hypothesis support this interface, implementing it is not required
    for custom database subclasses. Hypothesis will warn when trying
    to listen on a database without support.
  - This feature is currently only used downstream in hypofuzz.
- 6.125.3:
  - Improves sharing of some internal cache behavior.
- 6.125.2:
  - Optimize performance (improves speed by ~5%) and clarify the
    wording in an error message.
- 6.125.1:
  - Fixes a bug since around version 6.124.4 where we might have
    generated -0.0 for st.floats(min_value=0.0), which is unsound.
- 6.125.0:
  - Add 2024.12 to the list of recognized Array API versions in

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=204
2025-02-26 10:50:33 +00:00
87065e839f Accepting request 1226532 from devel:languages:python
- Skip tests matching `test_adds_note_showing_which_strategy`
  (gh#HypothesisWorks/hypothesis#4185).
- Add missing BR: rich.

OBS-URL: https://build.opensuse.org/request/show/1226532
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=80
2024-11-27 21:05:22 +00:00
48d959e9b4 - Skip tests matching test_adds_note_showing_which_strategy
(gh#HypothesisWorks/hypothesis#4185).
- Add missing BR: rich.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=202
2024-11-26 13:19:48 +00:00
f743d379ef Accepting request 1224614 from devel:languages:python
- Update to 6.119.1
  - This patch migrates some more internals (around generating
    novel inputs) to the IR layer (issue #3921).
- Update to 6.119.0
  - This release improves Hypothesis’ handling of ExceptionGroup
    - it’s now able to detect marker detections if they’re inside
    a group and attempts to resolve them. Note that this handling
    is still a work in progress and might not handle edge cases
    optimally. Please open issues if you encounter any problems
    or unexpected behavior with it.
- Update to 6.118.9
  - Internal refactorings in preparation for upcoming changes.
- Update to 6.118.8
  - Internal renamings.
- Update to 6.118.7
  - This patch removes some # type: ignore comments following a
    mypy update.
- Update to 6.118.6
  - When Hypothesis replays examples from its test database that
    it knows were previously fully shrunk it will no longer try
    to shrink them again.
  - This should significantly speed up development workflows for
    slow tests, as the shrinking could contribute a significant
    delay when rerunning the tests.
  - In some rare cases this may cause minor reductions in example
    quality. This was considered an acceptable tradeoff for the
    improved test runtime.
- Update to 6.118.5
  - This patch avoids computing some string representations we
    won’t need, giving a small speedup (part of issue #4139).
- Update to 6.118.4
  - This patch migrates the optimisation algorithm for
    targeted property-based testing to our IR layer (issue
    #3921). This should result in moderately different (and
    hopefully improved) exploration behavior in tests which use
    hypothesis.target().
- Update to 6.118.3
  - This patch adds more type hints to internal Hypothesis code.
- Update to 6.118.2
  - This patch migrates the explain phase to our IR layer (issue
    #3921). This should improve both its speed and precision.
- Update to 6.118.1
  - This patch updates some internals around how we determine an
    input is too large to finish generating.
- Update to 6.118.0
  - The urls() strategy no longer generates URLs where the port
    number is 0.
  - This change is motivated by the idea that the generated URLs
    should, at least in theory, be possible to fetch. The port
    number 0 is special; if a server binds to port 0, the kernel
    will allocate an unused, and non-zero, port instead. That
    means that it’s not possible for a server to actually be
    listening on port 0. This motivation is briefly described in
    the documentation for urls().
  - Fixes issue #4157.
  - Thanks to @gmacon for this contribution!
- Update to 6.117.0
  - This changes the behaviour of settings profiles so that
    if you reregister the currently loaded profile it will
    automatically reload it. Previously you would have had to
    load it again.
  - In particular this means that if you register a “ci” profile,
    it will automatically be used when Hypothesis detects you are
    running on CI.
- Update to 6.116.0
  - Hypothesis now detects if it is running on a CI server and
    provides better default settings for running on CI in this
    case.
- Update to 6.115.6
  - This patch changes the priority order of pretty printing
    logic so that a user provided pretty printing method will
    always be used in preference to e.g. printing it like a
    dataclass.
- Update to 6.115.5
  - This patch restores diversity to the outputs of
    from_type(type) (issue #4144).
- Update to 6.115.4
  - This release improves pretty printing of nested classes to
    include the outer class name in their printed representation.
- Update to 6.115.3
  - This patch fixes a regression from version 6.115.2 where
    generating values from integers() with certain values for
    min_value and max_value would error.
- Require numpy >= 2.

OBS-URL: https://build.opensuse.org/request/show/1224614
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=79
2024-11-18 18:57:08 +00:00
6a8a1d1f45 - Require numpy >= 2.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=200
2024-11-16 17:28:51 +00:00
e82d270d35 - Update to 6.119.1
- This patch migrates some more internals (around generating
    novel inputs) to the IR layer (issue #3921).
- Update to 6.119.0
  - This release improves Hypothesis’ handling of ExceptionGroup
    - it’s now able to detect marker detections if they’re inside
    a group and attempts to resolve them. Note that this handling
    is still a work in progress and might not handle edge cases
    optimally. Please open issues if you encounter any problems
    or unexpected behavior with it.
- Update to 6.118.9
  - Internal refactorings in preparation for upcoming changes.
- Update to 6.118.8
  - Internal renamings.
- Update to 6.118.7
  - This patch removes some # type: ignore comments following a
    mypy update.
- Update to 6.118.6
  - When Hypothesis replays examples from its test database that
    it knows were previously fully shrunk it will no longer try
    to shrink them again.
  - This should significantly speed up development workflows for
    slow tests, as the shrinking could contribute a significant
    delay when rerunning the tests.
  - In some rare cases this may cause minor reductions in example
    quality. This was considered an acceptable tradeoff for the
    improved test runtime.
- Update to 6.118.5
  - This patch avoids computing some string representations we
    won’t need, giving a small speedup (part of issue #4139).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=199
2024-11-16 16:49:30 +00:00
ae52eb828f Accepting request 1217398 from devel:languages:python
Forwarded request #1217328 from glaubitz

- Update to 6.115.3
    * This patch fixes a regression from :ref:`version 6.115.2 <v6.115.2>` where
      generating values from :func:`~hypothesis.strategies.integers` with certain
      values for ``min_value`` and ``max_value`` would error.
  - from version 6.115.2
    * This release improves integer shrinking by folding the endpoint upweighting
      for :func:`~hypothesis.strategies.integers` into the ``weights`` parameter
      of our IR.
      If you maintain an alternative backend as part of our (for now explicitly
      unstable) :ref:`alternative-backends`, this release changes the type of the
      ``weights`` parameter to ``draw_integer`` and may be a breaking change for you.
  - from version 6.115.1
    * This patch improves the performance of :func:`~hypothesis.strategies.from_type`
      with `pydantic.types.condate
  - from version 6.115.0
    * This improves the formatting of dataclasses and attrs classes when printing
      falsifying examples.
  - from version 6.114.1
    * This patch upgrades remaining type annotations to Python 3.9 syntax.
  - from version 6.114.0
    * This release drops support for Python 3.8, which reached end of life on
      2024-10-07.
  - from version 6.113.0
    * This release adds ``hypothesis.errors.BackendCannotProceed``, an unstable API
      for use by :ref:`alternative-backends`.
  - from version 6.112.5
    * This release fixes a regression where :class:`hypothesis.stateful.Bundle` did
      not work properly with :ref:`flatmap <flatmap>` functionality.
  - from version 6.112.4
    * This patch tweaks the paths in ``@example(...)`` patches, so that

OBS-URL: https://build.opensuse.org/request/show/1217398
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=78
2024-10-25 17:19:16 +00:00
105e31b62f - Update to 6.115.3
* This patch fixes a regression from :ref:`version 6.115.2 <v6.115.2>` where
    generating values from :func:`~hypothesis.strategies.integers` with certain
    values for ``min_value`` and ``max_value`` would error.
- from version 6.115.2
  * This release improves integer shrinking by folding the endpoint upweighting
    for :func:`~hypothesis.strategies.integers` into the ``weights`` parameter
    of our IR.
    If you maintain an alternative backend as part of our (for now explicitly
    unstable) :ref:`alternative-backends`, this release changes the type of the
    ``weights`` parameter to ``draw_integer`` and may be a breaking change for you.
- from version 6.115.1
  * This patch improves the performance of :func:`~hypothesis.strategies.from_type`
    with `pydantic.types.condate
- from version 6.115.0
  * This improves the formatting of dataclasses and attrs classes when printing
    falsifying examples.
- from version 6.114.1
  * This patch upgrades remaining type annotations to Python 3.9 syntax.
- from version 6.114.0
  * This release drops support for Python 3.8, which reached end of life on
    2024-10-07.
- from version 6.113.0
  * This release adds ``hypothesis.errors.BackendCannotProceed``, an unstable API
    for use by :ref:`alternative-backends`.
- from version 6.112.5
  * This release fixes a regression where :class:`hypothesis.stateful.Bundle` did
    not work properly with :ref:`flatmap <flatmap>` functionality.
- from version 6.112.4
  * This patch tweaks the paths in ``@example(...)`` patches, so that

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=197
2024-10-23 16:58:01 +00:00
dcef448332 Accepting request 1206400 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1206400
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-hypothesis?expand=0&rev=77
2024-10-09 20:03:21 +00:00
76ef9e2ad9 - Update to 6.112.2
* removes a now-incorrect internal assertion about numpy’s typing 
    after recent numpy changes
  * fixes an internal error when the __context__ attribute of a raised 
    exception leads to a cycle

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=195
2024-10-08 21:15:17 +00:00
5 changed files with 455 additions and 27 deletions

View File

@@ -2,11 +2,11 @@
<service name="tar_scm" mode="manual">
<param name="url">https://github.com/HypothesisWorks/hypothesis.git</param>
<param name="scm">git</param>
<param name="revision">hypothesis-python-6.112.0</param>
<param name="revision">hypothesis-python-6.138.13</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">hypothesis-python-(.*)</param>
<param name="subdir">hypothesis-python</param>
<param name="filename">hypothesis-python</param>
<param name="subdir">hypothesis-python</param>
<param name="filename">hypothesis-python</param>
</service>
<service name="recompress" mode="manual">
<param name="file">*.tar</param>

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a5cb533357dd4d9e0f16071f5b8fca2f9a6966872cc9ca0e1377f071b08da7b2
size 933779

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:71259f2ad0b3016226ac99afa1ab725b6943038fe6842b06524bfef70fba73cc
size 1067657

View File

@@ -1,3 +1,419 @@
-------------------------------------------------------------------
Tue Sep 2 08:34:31 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Update to 6.138.13
* text() now occasionally generates from a preselected list of strings
which are likely to find bugs.
* Improves input validation for several strategies in our pandas extra,
so that they raise a helpful InvalidArgument rather than OverflowError.
* New "hypothesis-urandom" backend, which draws randomness from
/dev/urandom instead of Pythons PRNG.
* randoms() no longer produces 1.0, matching the exclusive upper bound
of random.Random.random
* Nesting @given inside of @given is now a HealthCheck failure.
* Add is_hypothesis_test(), for third-party libraries which want to
determine whether a test has been defined with Hypothesis.
* Add on_observation() to the internal alternative backends interface.
* New hypothesis.extra.django.SimpleTestCase
* New run_conformance_test(), for use in testing implementations of
alternative backends.
* Fixes a substantial performance regression in stateful tests from
computing string representations, present since version 6.131.20.
* Improves the thread safety of many functions and decorators.
* Before this release, Hypothesis did not require that super().__init__()
be called in SearchStrategy subclasses. Subclassing SearchStrategy is
not supported or part of the public API, but if you are subclassing it
anyway, you will need to make sure to call super().__init__().
* When a failure found by an alternative backend does not reproduce under
the Hypothesis backend, we now raise FlakyBackendFailure.
* When a test is executed concurrently from multiple threads, DeadlineExceeded
is now disabled.
* Add specified callback methods to the observability interface. The previous
TESTCASE_CALLBACKS is deprecated.
* Add support for Python 3.14.
-------------------------------------------------------------------
Thu Aug 21 08:32:53 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives on SLE-16-based and newer systems only
-------------------------------------------------------------------
Thu Jul 10 13:17:31 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives
-------------------------------------------------------------------
Thu Mar 6 10:05:55 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Update to 6.127.8
* Fix a type-hinting regression from version 6.125.1, where we would
no longer guarantee the type of the argument to .filter predicates
* Improve shrinking behavior for values from text() and binary()
which contain duplicate elements, like "zzzabc".
-------------------------------------------------------------------
Wed Mar 5 14:22:04 UTC 2025 - Nico Krapp <nico.krapp@suse.com>
- Update to 6.127.6
* This patch tweaks the performance of the target phase, avoiding
aborting some test cases when it would be better to finish
generating them.
-------------------------------------------------------------------
Mon Mar 3 11:32:39 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Update to 6.127.5
* Improve shrinking of non-standard NaN float values
* Update our vendored list of top-level domains, which is used by
the provisional domains() strategy.
* Fix a bug where from_type() would error on certain types
involving Protocol
-------------------------------------------------------------------
Wed Feb 26 07:00:42 UTC 2025 - Daniel Garcia <daniel.garcia@suse.com>
- Update to 6.127.2:
- Adjust type hints for the pub-sub database implementation in
version 6.126.0, and remove a remnant debug print in its
implementation.
- 6.127.1:
- Improve the clarity of printing counterexamples in stateful
testing, by avoiding confusing Bundle references with equivalent
values drawn from a regular strategy.
- 6.127.0:
- This releases adds support for type aliases created with the type
statement (new in python 3.12) to from_type() and
register_type_strategy().
- 6.126.0:
- The Hypothesis database now supports a pub-sub interface to
efficiently listen for changes in the database, via .add_listener
and .remove_listener. While all databases that ship with
Hypothesis support this interface, implementing it is not required
for custom database subclasses. Hypothesis will warn when trying
to listen on a database without support.
- This feature is currently only used downstream in hypofuzz.
- 6.125.3:
- Improves sharing of some internal cache behavior.
- 6.125.2:
- Optimize performance (improves speed by ~5%) and clarify the
wording in an error message.
- 6.125.1:
- Fixes a bug since around version 6.124.4 where we might have
generated -0.0 for st.floats(min_value=0.0), which is unsound.
- 6.125.0:
- Add 2024.12 to the list of recognized Array API versions in
hypothesis.extra.array_api.
- 6.124.9:
- Registration of experimental Alternative backends for Hypothesis
is now done via
hypothesis.internal.conjecture.providers.AVAILABLE_PROVIDERS
instead of
hypothesis.internal.conjecture.data.AVAILABLE_PROVIDERS.
- 6.124.8:
- Refactor some internals for better type hinting.
- 6.124.7:
- Internal renamings.
- 6.124.6:
- More work on internal type hints.
- 6.124.5:
- Internal refactoring to make some stateful internals easier to access.
- 6.124.4:
- Refactoring of our internal input generation. This shouldnt lead
to any changes in the distribution of test inputs. If you notice
any, please open an issue!
- 6.124.3:
- Some Hypothesis internals now use the number of choices as a
yardstick of input size, rather than the entropy consumed by those
choices. We dont expect this to cause significant behavioral
changes.
- 6.124.2:
- Improves our internal caching logic for test cases.
- 6.124.1:
- fuzz_one_input is now implemented using an alternative backend.
This brings the interpretation of the fuzzer-provided bytestring
closer to the fuzzer mutations, allowing the mutations to work
more reliably. We hope to use this backend functionality to
improve fuzzing integration (see e.g.
https://github.com/google/atheris/issues/20) in the future!
- 6.124.0:
- The Hypothesis example database now uses a new internal format to
store examples. This new format is not compatible with the
previous format, so stored entries will not carry over.
- The database is best thought of as a cache that may be invalidated
at times. Instead of relying on it for correctness, we recommend
using @example to specify explicit examples. When using databases
across environments (such as connecting a GitHubArtifactDatabase
database in CI to your local environment), we recommend using the
same version of Hypothesis for each where possible, for maximum
reproducibility.
- 6.123.17:
- This patch improves certain corner cases for reporting of flaky
errors (issue #4183 and issue #4228).
- 6.123.16:
- Improves an edge case in one of our integer and float shrinking passes.
- 6.123.15:
- Improves one of our shrinking passes for integers which require a
constant relative difference to trigger the bug.
- 6.123.14:
- Avoid realizing symbolic values from Alternative backends for
Hypothesis when verbosity is verbose or higher.
- 6.123.13:
- More internal code refactoring.
- 6.123.12:
- DirectoryBasedExampleDatabase now creates files representing
database entries atomically, avoiding a very brief intermediary
state where a file could be created but not yet written to.
- 6.123.11:
- Internal code refactoring.
- 6.123.10:
- Fixes a bug caused by alternative backends raising
hypothesis.errors.BackendCannotProceed in certain cases.
- 6.123.9:
- Add internal type hints to our pretty printer.
- 6.123.8:
- The shrinker contains a pass aimed at integers which are required
to sum to a value. This patch extends that pass to floats as well.
- 6.123.7:
- Internal type hint additions and refactorings.
- 6.123.6:
- @reproduce_failure() now uses a newer internal interface to
represent failures. As a reminder, this representation is not
intended to be stable across versions or with respect to changes
in the test.
- 6.123.5:
- Internal code refactoring for the typed choice sequence (issue
#3921). May have some neutral effect on shrinking.
- 6.123.4:
- This patch improves shrinking involving long strings or byte
sequences whose value is not relevant to the failure.
- 6.123.3:
- This release further improves shrinking of strategies using
one_of(), allowing the shrinker to more reliably move between
branches of the strategy.
- 6.123.2:
- The shrinker now uses the typed choice sequence (issue #3921) when
ordering failing examples. As a result, Hypothesis may now report
a different minimal failing example for some tests. We expect most
cases to remain unchanged.
- 6.123.1:
- Our pytest plugin now emits a warning if you set Pytests
norecursedirs config option in such a way that the .hypothesis
directory would be searched for tests. This reliably indicates
that youve made a mistake which slows down test collection,
usually assuming that your configuration extends the set of
ignored patterns when it actually replaces them. (issue #4200)
- 6.123.0:
- from_type() can now handle constructors with required
positional-only arguments if they have type annotations.
Previously, we only passed arguments by keyword.
- 6.122.7:
- This patch lays some groundwork for migrating our internal
representation to the typed choice sequence (issue #3921)
- 6.122.6:
- This patch cleans up some internal code around clamping floats.
- 6.122.5:
- This release improves shrinking in some cases, especially for
strategies using one_of(). This will typically improve shrinking
speed and may in some cases improve the end result.
- 6.122.4:
- This patch improves generation performance for the provisional
domains() strategy, including its derivative strategies urls() and
emails().
- 6.122.3:
- This patch improves our error and warning messages.
- 6.122.2:
- This patch updates some outdated external links in our documentation.
- 6.122.1:
- Fix from_type() on collections.abc.Callable returning None.
- 6.122.0:
- This release adds .span_start() and .span_end() methods to our
internal PrimitiveProvider interface, for use by Alternative
backends for Hypothesis.
- 6.121.2:
- This patch updates our autoformatting tools, improving our code
style without any API changes.
- 6.121.1:
- This release brings back the old representation of
hypothesis.stateful.Bundle, reverting most changes of PR #4124.
- 6.121.0:
- This release adds BackgroundWriteDatabase, a new database backend
which defers writes on the wrapped database to a background
thread. This allows for low-overhead writes in
performance-critical environments like fuzz_one_input.
- 6.120.0:
- This release changes our input distribution for low max_examples.
Previously, we capped the size of inputs when generating at least
the first 10 inputs, with the reasoning that early inputs to a
property should be small. However, this meant properties with
max_examples=10 would consistent entirely of small inputs. This
patch removes the hard lower bound so that inputs to these
properties are more representative of the input space.
- When a user requests an interactive input via strategy.example, we
generate and cache a batch of 100 inputs, returning the first one.
This can be expensive for large strategies or when only a few
examples are needed. This release improves the speed of
strategy.example by lowering the batch size to 10.
- 6.119.4:
- This patch fixes a bug since 6.99.13 - 2024-03-24 where only
interactively-generated values (via data.draw) would be reported
in the arguments field of our observability output. Now, all
values are reported.
- 6.119.3:
- Hypothesis collects coverage information during the shrink and
explain phases in order to show a more informative error message.
On 3.12+, this uses sys.monitoring. This patch improves the
performance of coverage collection on 3.12+ by disabling events we
dont need.
- 6.119.2:
- This patch refactors some internals to prepare for future work
using our IR (issue #3921).
-------------------------------------------------------------------
Mon Nov 25 20:20:07 UTC 2024 - Matej Cepl <mcepl@suse.com>
- Skip tests matching `test_adds_note_showing_which_strategy`
(gh#HypothesisWorks/hypothesis#4185).
- Add missing BR: rich.
-------------------------------------------------------------------
Sat Nov 16 16:45:50 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Update to 6.119.1
- This patch migrates some more internals (around generating
novel inputs) to the IR layer (issue #3921).
- Update to 6.119.0
- This release improves Hypothesis handling of ExceptionGroup
- its now able to detect marker detections if theyre inside
a group and attempts to resolve them. Note that this handling
is still a work in progress and might not handle edge cases
optimally. Please open issues if you encounter any problems
or unexpected behavior with it.
- Update to 6.118.9
- Internal refactorings in preparation for upcoming changes.
- Update to 6.118.8
- Internal renamings.
- Update to 6.118.7
- This patch removes some # type: ignore comments following a
mypy update.
- Update to 6.118.6
- When Hypothesis replays examples from its test database that
it knows were previously fully shrunk it will no longer try
to shrink them again.
- This should significantly speed up development workflows for
slow tests, as the shrinking could contribute a significant
delay when rerunning the tests.
- In some rare cases this may cause minor reductions in example
quality. This was considered an acceptable tradeoff for the
improved test runtime.
- Update to 6.118.5
- This patch avoids computing some string representations we
wont need, giving a small speedup (part of issue #4139).
- Update to 6.118.4
- This patch migrates the optimisation algorithm for
targeted property-based testing to our IR layer (issue
#3921). This should result in moderately different (and
hopefully improved) exploration behavior in tests which use
hypothesis.target().
- Update to 6.118.3
- This patch adds more type hints to internal Hypothesis code.
- Update to 6.118.2
- This patch migrates the explain phase to our IR layer (issue
#3921). This should improve both its speed and precision.
- Update to 6.118.1
- This patch updates some internals around how we determine an
input is too large to finish generating.
- Update to 6.118.0
- The urls() strategy no longer generates URLs where the port
number is 0.
- This change is motivated by the idea that the generated URLs
should, at least in theory, be possible to fetch. The port
number 0 is special; if a server binds to port 0, the kernel
will allocate an unused, and non-zero, port instead. That
means that its not possible for a server to actually be
listening on port 0. This motivation is briefly described in
the documentation for urls().
- Fixes issue #4157.
- Thanks to @gmacon for this contribution!
- Update to 6.117.0
- This changes the behaviour of settings profiles so that
if you reregister the currently loaded profile it will
automatically reload it. Previously you would have had to
load it again.
- In particular this means that if you register a “ci” profile,
it will automatically be used when Hypothesis detects you are
running on CI.
- Update to 6.116.0
- Hypothesis now detects if it is running on a CI server and
provides better default settings for running on CI in this
case.
- Update to 6.115.6
- This patch changes the priority order of pretty printing
logic so that a user provided pretty printing method will
always be used in preference to e.g. printing it like a
dataclass.
- Update to 6.115.5
- This patch restores diversity to the outputs of
from_type(type) (issue #4144).
- Update to 6.115.4
- This release improves pretty printing of nested classes to
include the outer class name in their printed representation.
- Update to 6.115.3
- This patch fixes a regression from version 6.115.2 where
generating values from integers() with certain values for
min_value and max_value would error.
- Require numpy >= 2.
-------------------------------------------------------------------
Wed Oct 23 11:11:01 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 6.115.3
* This patch fixes a regression from :ref:`version 6.115.2 <v6.115.2>` where
generating values from :func:`~hypothesis.strategies.integers` with certain
values for ``min_value`` and ``max_value`` would error.
- from version 6.115.2
* This release improves integer shrinking by folding the endpoint upweighting
for :func:`~hypothesis.strategies.integers` into the ``weights`` parameter
of our IR.
If you maintain an alternative backend as part of our (for now explicitly
unstable) :ref:`alternative-backends`, this release changes the type of the
``weights`` parameter to ``draw_integer`` and may be a breaking change for you.
- from version 6.115.1
* This patch improves the performance of :func:`~hypothesis.strategies.from_type`
with `pydantic.types.condate
- from version 6.115.0
* This improves the formatting of dataclasses and attrs classes when printing
falsifying examples.
- from version 6.114.1
* This patch upgrades remaining type annotations to Python 3.9 syntax.
- from version 6.114.0
* This release drops support for Python 3.8, which reached end of life on
2024-10-07.
- from version 6.113.0
* This release adds ``hypothesis.errors.BackendCannotProceed``, an unstable API
for use by :ref:`alternative-backends`.
- from version 6.112.5
* This release fixes a regression where :class:`hypothesis.stateful.Bundle` did
not work properly with :ref:`flatmap <flatmap>` functionality.
- from version 6.112.4
* This patch tweaks the paths in ``@example(...)`` patches, so that
both ``git apply`` and ``patch`` will work by default.
- from version 6.112.3
* This release refactors internals of :class:`hypothesis.stateful.Bundle`
to have a more consistent representation internally.
- Remove trailing spaces before newlines in _service file
- Update BuildRequires and Requires from setup.py
-------------------------------------------------------------------
Tue Oct 8 16:02:15 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 6.112.2
* removes a now-incorrect internal assertion about numpys typing
after recent numpy changes
* fixes an internal error when the __context__ attribute of a raised
exception leads to a cycle
-------------------------------------------------------------------
Fri Sep 6 05:56:55 UTC 2024 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-hypothesis
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -23,6 +23,11 @@
%else
%bcond_without complete_tests
%endif
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%bcond_with ringdisabled
%if "%{flavor}" == "test"
%define psuffix -test
@@ -38,7 +43,7 @@ ExclusiveArch: do_not_build
%endif
%{?sle15_python_module_pythons}
Name: python-hypothesis%{psuffix}
Version: 6.112.0
Version: 6.138.13
Release: 0
Summary: A library for property based testing
License: MPL-2.0
@@ -57,19 +62,24 @@ BuildRequires: python-rpm-macros
Requires: python-attrs >= 19.2.0
Requires: (python-exceptiongroup >= 1.0.0 if python-base < 3.11)
Requires: (python-sortedcontainers >= 2.1.0 with python-sortedcontainers < 3.0)
Requires(post): update-alternatives
Requires(preun): update-alternatives
BuildArch: noarch
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
# SECTION requires_extra
Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8)
# consuming packages need to declare these optional dependencies explicitly
Recommends: python-Django >= 3.2
Recommends: python-black >= 19.10
Recommends: python-Django >= 4.2
Recommends: python-black >= 20.8
Recommends: python-click >= 7.0
Recommends: python-dpcontracts >= 0.4
Recommends: python-lark >= 0.10.1
Recommends: python-libcst >= 0.3.16
Recommends: python-numpy >= 1.16.0
Recommends: python-numpy >= 2
Recommends: python-pandas >= 1.1
Recommends: python-pytest >= 4.6
Recommends: python-python-dateutil >= 1.4
@@ -81,20 +91,22 @@ Recommends: python-rich >= 9.0
BuildRequires: %{python_module hypothesis = %{version}}
# SECTION test requirements
BuildRequires: %{python_module backports.zoneinfo >= 0.2.1 if %python-base < 3.9}
BuildRequires: %{python_module black >= 19.10}
BuildRequires: %{python_module black >= 20.8}
BuildRequires: %{python_module click}
BuildRequires: %{python_module dpcontracts >= 0.4}
BuildRequires: %{python_module flaky}
BuildRequires: %{python_module lark >= 0.10.1}
BuildRequires: %{python_module libcst >= 0.3.16}
BuildRequires: %{python_module numpy >= 1.16.0}
BuildRequires: %{python_module numpy >= 2}
BuildRequires: %{python_module pexpect}
BuildRequires: %{python_module pytest >= 4.6}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module python-dateutil >= 1.4}
BuildRequires: %{python_module rich >= 9.0.0}
BuildRequires: %{python_module typing_extensions}
BuildRequires: %{python_module watchdog}
%if %{with complete_tests}
BuildRequires: %{python_module Django >= 3.2}
BuildRequires: %{python_module Django >= 4.2}
BuildRequires: %{python_module fakeredis}
BuildRequires: %{python_module pandas >= 1.1}
%endif
@@ -142,6 +154,9 @@ sed -i 's/assert (arr == 0.0)/assert np.asarray(arr == 0.0)/' tests/numpy/test_g
%postun
%python_uninstall_alternative hypothesis
%pre
%python_libalternatives_reset_alternative hypothesis
%check
%if %{with test}
# theses tests try to write into global python_sitelib
@@ -150,22 +165,19 @@ donttest="test_updating_the_file_include_new_shrinkers"
donttest+=" or test_can_learn_to_normalize_the_unnormalized"
# requires a git checkout
donttest+=" or test_observability"
# Fail because typing comparison
donttest+=" or test_ghostwriter_on_hypothesis"
if [ $(getconf LONG_BIT) -eq 32 ]; then
donttest+=" or test_gets_right_dtype_for_empty_indices"
fi
# https://github.com/HypothesisWorks/hypothesis/issues/3704
donttest+=" or (test_make_full_patch and covering)"
donttest+=" or test_overflowing_integers_are_deprecated"
# suddenly does not raise InvalidArgument with Numpy 2
donttest+=" or test_unrepresentable_elements_are_deprecated"
# we're disabling the healthcheck below, obs is too flaky with it
donttest+=" or fails_health_check or slow_tests or on_healthcheck or a_health_check"
donttest+=" or test_statistics_with_events_and_target"
donttest+=" or test_self_ref_regression"
# flaky test
donttest+=" or test_has_string_of_max_length"
donttest+=" or fails_health_check or slow_tests or on_healthcheck or a_health_check or test_health_check_too_slow"
# and we are overriding the default deadline as well
donttest+=" or test_backend_deadline_exceeded_raised_as_flaky_backend_failure or test_deadline_exceeded_can_be_raised_after_threads"
# flaky tests
donttest+=" or test_has_string_of_max_length or test_database_listener_directory"
# drop tests testing functionality we don't have
rm tests/crosshair/test_crosshair.py
# adapted from pytest.ini in github repo toplevel dir (above hypothesis-python)
echo '[pytest]
addopts=
@@ -213,7 +225,7 @@ export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_ex
%if !%{with test}
%files %{python_files}
%license LICENSE.txt
%doc README.rst
%doc README.md
%python_alternative %{_bindir}/hypothesis
%{python_sitelib}/hypothesis
%{python_sitelib}/_hypothesis*.py