13
0

17 Commits

Author SHA256 Message Date
cfd4c4d416 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
ac14ecf860 - 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
6eb49ea2e1 - 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
a4b359b683 - 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
f357cdd1b7 Accepting request 1273179 from home:mcalabkova:branches:devel:languages:python
- 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/request/show/1273179
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
8f66d01f97 Accepting request 1250446 from home:nkrapp:branches:devel:languages:python
- 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/request/show/1250446
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
9e38854d6b Accepting request 1249982 from home:mcalabkova:branches:devel:languages:python
- 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/request/show/1249982
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
d6f8ab356a Accepting request 1248637 from home:dgarcia:branches:devel:languages:python
- 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/request/show/1248637
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
b1f669fc92 - 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
6feefaf2cb - 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
11273edd46 - 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
e682174b71 Accepting request 1217328 from home:glaubitz:branches:devel:languages:python
- 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/1217328
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
3dff81dc12 Accepting request 1206354 from home:mcalabkova:branches:devel:languages:python
- 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/request/show/1206354
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
cd922047a7 Accepting request 1199122 from home:bnavigator:branches:devel:languages:python:numeric
- Update to 6.112.0
  * This release adds support for variable-width bytes in our IR
    layer (issue #3921), which should mean improved performance
    anywhere you use binary(). If you maintain an alternative
    backend as part of our (for now explicitly unstable)
    Alternative backends for Hypothesis, this release changes the
    draw_* interface and may be a breaking change for you.

OBS-URL: https://build.opensuse.org/request/show/1199122
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=193
2024-09-06 07:04:37 +00:00
2aa732e510 Accepting request 1195137 from home:nkrapp:branches:devel:languages:python
- Update to 6.111.1
  * This patch improves shrinking in cases involving 'slips' from one 
    strategy to another. Highly composite strategies are the most likely 
    to benefit from this change.
  * This patch also reduces the range of :class:`python:datetime.datetime` 
    generated by :func:`~hypothesis.extra.django.from_model` in order to 
    avoid https://code.djangoproject.com/ticket/35683.
- Drop 0001-Revert-Use-tmp_path-in-ghostwriter-test.patch
  * included upstream

OBS-URL: https://build.opensuse.org/request/show/1195137
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=192
2024-08-30 10:46:59 +00:00
051e89cf41 Accepting request 1191165 from home:mcalabkova:branches:devel:languages:python
- Update to 6.108.5
  * The alphabet= argument to from_regex() now accepts unions of characters() 
    and sampled_from() strategies, in addition to accepting each individually.
  * Improves support for unions of numpy dtypes such as np.float64 | np.complex128 
    in from_type() and arrays()
  * Support for Django 5.0, drop support for end-of-life Django versions (< 4.2).
  * Migrate the shrinker to our new internal representation, called the IR layer.
    This improves the shrinker’s performance in the majority of cases. For example, 
    on the Hypothesis test suite, shrinking is a median of 1.38x faster.
  * The from_dtype() function no longer generates NaT (“not-a-time”) values for the 
    datetime64 or timedelta64 dtypes if passed allow_nan=False
  * Add the experimental and unstable backend setting. See documentation for details.
  * Many more minor changes, see the upstream changelog.
- Add 0001-Revert-Use-tmp_path-in-ghostwriter-tests.patch to fix tests
  * https://github.com/HypothesisWorks/hypothesis/issues/4062

OBS-URL: https://build.opensuse.org/request/show/1191165
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=191
2024-08-02 15:49:41 +00:00
47eb1c84d8 - Disable complete tests for non-tumbleweed to avoid python-pandas
requirement

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=189
2024-07-29 11:17:29 +00:00
5 changed files with 75 additions and 30 deletions

View File

@@ -2,7 +2,7 @@
<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.127.8</param> <param name="revision">hypothesis-python-6.138.13</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>

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

Binary file not shown.

View File

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

View File

@@ -1,3 +1,47 @@
-------------------------------------------------------------------
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> Thu Mar 6 10:05:55 UTC 2025 - Markéta Machová <mmachova@suse.com>

View File

@@ -1,7 +1,7 @@
# #
# spec file for package python-hypothesis # spec file for package python-hypothesis
# #
# Copyright (c) 2025 SUSE LLC # Copyright (c) 2025 SUSE LLC and contributors
# #
# 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
@@ -23,6 +23,11 @@
%else %else
%bcond_without complete_tests %bcond_without complete_tests
%endif %endif
%if 0%{?suse_version} > 1500
%bcond_without libalternatives
%else
%bcond_with libalternatives
%endif
%bcond_with ringdisabled %bcond_with ringdisabled
%if "%{flavor}" == "test" %if "%{flavor}" == "test"
%define psuffix -test %define psuffix -test
@@ -38,7 +43,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.127.8 Version: 6.138.13
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
@@ -57,14 +62,19 @@ BuildRequires: python-rpm-macros
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
%if %{with libalternatives}
BuildRequires: alts
Requires: alts
%else
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
# 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 >= 4.2 Recommends: python-Django >= 4.2
Recommends: python-black >= 19.10 Recommends: python-black >= 20.8
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
@@ -81,7 +91,7 @@ Recommends: python-rich >= 9.0
BuildRequires: %{python_module hypothesis = %{version}} BuildRequires: %{python_module hypothesis = %{version}}
# SECTION test requirements # SECTION test requirements
BuildRequires: %{python_module backports.zoneinfo >= 0.2.1 if %python-base < 3.9} 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 click}
BuildRequires: %{python_module dpcontracts >= 0.4} BuildRequires: %{python_module dpcontracts >= 0.4}
BuildRequires: %{python_module flaky} BuildRequires: %{python_module flaky}
@@ -96,7 +106,7 @@ BuildRequires: %{python_module rich >= 9.0.0}
BuildRequires: %{python_module typing_extensions} BuildRequires: %{python_module typing_extensions}
BuildRequires: %{python_module watchdog} BuildRequires: %{python_module watchdog}
%if %{with complete_tests} %if %{with complete_tests}
BuildRequires: %{python_module Django >= 3.2} BuildRequires: %{python_module Django >= 4.2}
BuildRequires: %{python_module fakeredis} BuildRequires: %{python_module fakeredis}
BuildRequires: %{python_module pandas >= 1.1} BuildRequires: %{python_module pandas >= 1.1}
%endif %endif
@@ -144,6 +154,9 @@ sed -i 's/assert (arr == 0.0)/assert np.asarray(arr == 0.0)/' tests/numpy/test_g
%postun %postun
%python_uninstall_alternative hypothesis %python_uninstall_alternative hypothesis
%pre
%python_libalternatives_reset_alternative hypothesis
%check %check
%if %{with test} %if %{with test}
# theses tests try to write into global python_sitelib # theses tests try to write into global python_sitelib
@@ -152,28 +165,19 @@ donttest="test_updating_the_file_include_new_shrinkers"
donttest+=" or test_can_learn_to_normalize_the_unnormalized" donttest+=" or test_can_learn_to_normalize_the_unnormalized"
# requires a git checkout # requires a git checkout
donttest+=" or test_observability" donttest+=" or test_observability"
# Fail because typing comparison
donttest+=" or test_ghostwriter_on_hypothesis"
if [ $(getconf LONG_BIT) -eq 32 ]; then if [ $(getconf LONG_BIT) -eq 32 ]; then
donttest+=" or test_gets_right_dtype_for_empty_indices" donttest+=" or test_gets_right_dtype_for_empty_indices"
fi 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 # suddenly does not raise InvalidArgument with Numpy 2
donttest+=" or test_unrepresentable_elements_are_deprecated" donttest+=" or test_unrepresentable_elements_are_deprecated"
# we're disabling the healthcheck below, obs is too flaky with it # 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 fails_health_check or slow_tests or on_healthcheck or a_health_check or test_health_check_too_slow"
donttest+=" or test_statistics_with_events_and_target" # and we are overriding the default deadline as well
donttest+=" or test_self_ref_regression" donttest+=" or test_backend_deadline_exceeded_raised_as_flaky_backend_failure or test_deadline_exceeded_can_be_raised_after_threads"
# flaky test # flaky tests
donttest+=" or test_has_string_of_max_length" donttest+=" or test_has_string_of_max_length or test_database_listener_directory"
# Test not working with 3.13.2 # drop tests testing functionality we don't have
# gh#HypothesisWorks/hypothesis#4276 rm tests/crosshair/test_crosshair.py
# 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=
@@ -214,9 +218,6 @@ 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