1
0

19 Commits

Author SHA256 Message Date
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 405 additions and 19 deletions

View File

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

View File

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

BIN
hypothesis-python-6.127.8.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,380 @@
-------------------------------------------------------------------
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> 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 # spec file for package python-hypothesis
# #
# Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -24,6 +24,7 @@
%bcond_without complete_tests %bcond_without complete_tests
%endif %endif
%bcond_with ringdisabled %bcond_with ringdisabled
%bcond_without libalternatives
%if "%{flavor}" == "test" %if "%{flavor}" == "test"
%define psuffix -test %define psuffix -test
%bcond_without test %bcond_without test
@ -38,7 +39,7 @@ ExclusiveArch: do_not_build
%endif %endif
%{?sle15_python_module_pythons} %{?sle15_python_module_pythons}
Name: python-hypothesis%{psuffix} Name: python-hypothesis%{psuffix}
Version: 6.112.0 Version: 6.127.8
Release: 0 Release: 0
Summary: A library for property based testing Summary: A library for property based testing
License: MPL-2.0 License: MPL-2.0
@ -52,24 +53,24 @@ BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytz} BuildRequires: %{python_module pytz}
BuildRequires: %{python_module setuptools} BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel} BuildRequires: %{python_module wheel}
BuildRequires: alts
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: python-rpm-macros BuildRequires: python-rpm-macros
Requires: alts
Requires: python-attrs >= 19.2.0 Requires: python-attrs >= 19.2.0
Requires: (python-exceptiongroup >= 1.0.0 if python-base < 3.11) Requires: (python-exceptiongroup >= 1.0.0 if python-base < 3.11)
Requires: (python-sortedcontainers >= 2.1.0 with python-sortedcontainers < 3.0) Requires: (python-sortedcontainers >= 2.1.0 with python-sortedcontainers < 3.0)
Requires(post): update-alternatives
Requires(preun): update-alternatives
BuildArch: noarch BuildArch: noarch
# SECTION requires_extra # SECTION requires_extra
Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8) Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8)
# consuming packages need to declare these optional dependencies explicitly # consuming packages need to declare these optional dependencies explicitly
Recommends: python-Django >= 3.2 Recommends: python-Django >= 4.2
Recommends: python-black >= 19.10 Recommends: python-black >= 19.10
Recommends: python-click >= 7.0 Recommends: python-click >= 7.0
Recommends: python-dpcontracts >= 0.4 Recommends: python-dpcontracts >= 0.4
Recommends: python-lark >= 0.10.1 Recommends: python-lark >= 0.10.1
Recommends: python-libcst >= 0.3.16 Recommends: python-libcst >= 0.3.16
Recommends: python-numpy >= 1.16.0 Recommends: python-numpy >= 2
Recommends: python-pandas >= 1.1 Recommends: python-pandas >= 1.1
Recommends: python-pytest >= 4.6 Recommends: python-pytest >= 4.6
Recommends: python-python-dateutil >= 1.4 Recommends: python-python-dateutil >= 1.4
@ -87,12 +88,14 @@ BuildRequires: %{python_module dpcontracts >= 0.4}
BuildRequires: %{python_module flaky} BuildRequires: %{python_module flaky}
BuildRequires: %{python_module lark >= 0.10.1} BuildRequires: %{python_module lark >= 0.10.1}
BuildRequires: %{python_module libcst >= 0.3.16} 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 pexpect}
BuildRequires: %{python_module pytest >= 4.6} BuildRequires: %{python_module pytest >= 4.6}
BuildRequires: %{python_module pytest-xdist} BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module python-dateutil >= 1.4} BuildRequires: %{python_module python-dateutil >= 1.4}
BuildRequires: %{python_module rich >= 9.0.0}
BuildRequires: %{python_module typing_extensions} BuildRequires: %{python_module typing_extensions}
BuildRequires: %{python_module watchdog}
%if %{with complete_tests} %if %{with complete_tests}
BuildRequires: %{python_module Django >= 3.2} BuildRequires: %{python_module Django >= 3.2}
BuildRequires: %{python_module fakeredis} BuildRequires: %{python_module fakeredis}
@ -136,11 +139,8 @@ sed -i 's/assert (arr == 0.0)/assert np.asarray(arr == 0.0)/' tests/numpy/test_g
%python_clone -a %{buildroot}%{_bindir}/hypothesis %python_clone -a %{buildroot}%{_bindir}/hypothesis
%endif %endif
%post %pre
%python_install_alternative hypothesis %python_libalternatives_reset_alternative hypothesis
%postun
%python_uninstall_alternative hypothesis
%check %check
%if %{with test} %if %{with test}
@ -166,6 +166,12 @@ donttest+=" or test_statistics_with_events_and_target"
donttest+=" or test_self_ref_regression" donttest+=" or test_self_ref_regression"
# flaky test # flaky test
donttest+=" or test_has_string_of_max_length" donttest+=" or test_has_string_of_max_length"
# Test not working with 3.13.2
# gh#HypothesisWorks/hypothesis#4276
# https://github.com/python/cpython/issues/125553
donttest+=" or test_clean_source[case-5]"
# Requires latest black
donttest+=" or test_ghostwriter_example_outputs[union_sequence_parameter]"
# adapted from pytest.ini in github repo toplevel dir (above hypothesis-python) # adapted from pytest.ini in github repo toplevel dir (above hypothesis-python)
echo '[pytest] echo '[pytest]
addopts= addopts=
@ -206,6 +212,9 @@ hypothesis.settings.register_profile(
" >> tests/conftest.py " >> tests/conftest.py
%if %{without complete_tests} %if %{without complete_tests}
export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_exampledatabase.py" export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_exampledatabase.py"
# gh#HypothesisWorks/hypothesis#4185
# pytest < 8.0 doesn't support __notes__ in pytest.raises()
donttest+=" or test_adds_note_showing_which_strategy"
%endif %endif
%pytest -c pytest.ini -k "not ($donttest)" tests; rm -rf .pytest_cache %pytest -c pytest.ini -k "not ($donttest)" tests; rm -rf .pytest_cache
%endif %endif
@ -213,7 +222,7 @@ export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_ex
%if !%{with test} %if !%{with test}
%files %{python_files} %files %{python_files}
%license LICENSE.txt %license LICENSE.txt
%doc README.rst %doc README.md
%python_alternative %{_bindir}/hypothesis %python_alternative %{_bindir}/hypothesis
%{python_sitelib}/hypothesis %{python_sitelib}/hypothesis
%{python_sitelib}/_hypothesis*.py %{python_sitelib}/_hypothesis*.py