14
0

- 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
This commit is contained in:
2025-09-02 13:08:58 +00:00
committed by Git OBS Bridge
parent 6eb49ea2e1
commit ac14ecf860
5 changed files with 50 additions and 28 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,37 @@
-------------------------------------------------------------------
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> Thu Aug 21 08:32:53 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
@@ -43,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
@@ -74,7 +74,7 @@ Requires(postun): update-alternatives
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
@@ -91,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}
@@ -106,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
@@ -165,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_move"
# 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=
@@ -227,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