2015-11-11 10:36:03 +00:00
|
|
|
#
|
2024-03-15 17:18:02 +00:00
|
|
|
# spec file for package python-hypothesis
|
2015-11-11 10:36:03 +00:00
|
|
|
#
|
- 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
|
|
|
# Copyright (c) 2025 SUSE LLC and contributors
|
2015-11-11 10:36:03 +00:00
|
|
|
#
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
# published by the Open Source Initiative.
|
|
|
|
|
2018-09-17 13:03:22 +00:00
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
2015-12-09 10:08:24 +00:00
|
|
|
#
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
|
2018-09-13 14:27:57 +00:00
|
|
|
%global flavor @BUILD_FLAVOR@%{nil}
|
2024-07-29 11:17:29 +00:00
|
|
|
# Without complete tests for SLES to avoid python-pandas requirement
|
|
|
|
%if 0%{?suse_version} <= 1600
|
2024-03-15 17:18:02 +00:00
|
|
|
%bcond_with complete_tests
|
|
|
|
%else
|
|
|
|
%bcond_without complete_tests
|
|
|
|
%endif
|
2025-08-21 08:33:41 +00:00
|
|
|
%if 0%{?suse_version} > 1500
|
2025-07-10 13:19:50 +00:00
|
|
|
%bcond_without libalternatives
|
2025-08-21 08:33:41 +00:00
|
|
|
%else
|
|
|
|
%bcond_with libalternatives
|
|
|
|
%endif
|
|
|
|
%bcond_with ringdisabled
|
2018-09-13 14:27:57 +00:00
|
|
|
%if "%{flavor}" == "test"
|
2019-04-30 13:27:39 +00:00
|
|
|
%define psuffix -test
|
2018-09-13 14:27:57 +00:00
|
|
|
%bcond_without test
|
2020-08-14 21:42:04 +00:00
|
|
|
# Magic for OBS Staging. Only build the flavors required by
|
|
|
|
# other packages in the ring.
|
|
|
|
%if %{with ringdisabled}
|
|
|
|
ExclusiveArch: do_not_build
|
|
|
|
%endif
|
2018-09-13 14:27:57 +00:00
|
|
|
%else
|
2019-04-30 13:27:39 +00:00
|
|
|
%define psuffix %{nil}
|
2018-09-05 11:17:34 +00:00
|
|
|
%bcond_with test
|
2018-09-13 14:27:57 +00:00
|
|
|
%endif
|
2023-04-21 14:31:18 +00:00
|
|
|
%{?sle15_python_module_pythons}
|
2019-04-30 13:27:39 +00:00
|
|
|
Name: python-hypothesis%{psuffix}
|
- 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
|
|
|
Version: 6.138.13
|
2015-11-11 10:36:03 +00:00
|
|
|
Release: 0
|
|
|
|
Summary: A library for property based testing
|
2015-12-09 10:08:24 +00:00
|
|
|
License: MPL-2.0
|
2020-08-14 21:42:04 +00:00
|
|
|
URL: https://github.com/HypothesisWorks/hypothesis
|
|
|
|
# Source is the `hypothesis-python` subdir of the Github repository.
|
2023-12-27 10:15:20 +00:00
|
|
|
# Edit the `_service` file and run `osc service manualrun` for updates.
|
2021-03-25 07:53:05 +00:00
|
|
|
# See also https://hypothesis.readthedocs.io/en/latest/packaging.html
|
2022-01-10 20:28:02 +00:00
|
|
|
Source: hypothesis-python-%{version}.tar.gz
|
2023-10-11 12:12:14 +00:00
|
|
|
BuildRequires: %{python_module base >= 3.8}
|
2023-01-09 05:05:53 +00:00
|
|
|
BuildRequires: %{python_module pip}
|
2023-02-17 16:55:10 +00:00
|
|
|
BuildRequires: %{python_module pytz}
|
Accepting request 963086 from home:bnavigator:branches:devel:languages:python
- Update to 6.39.4
* This patch tweaks some internal formatting. There is no
user-visible change.
- Release 6.39.3
* If the shrink phase is disabled, we now stop the generate phase
as soon as an error is found regardless of the value of the
report_multiple_examples setting, since that’s probably what
you wanted (issue #3244).
- Release 6.39.2
* This patch clarifies rare error messages in builds() (issue
#3225) and floats() (issue #3207).
- Release 6.39.1
* This patch fixes a regression where the bound inner function
(your_test.hypothesis.inner_test) would be invoked with
positional arguments rather than passing them by name, which
broke pytest-asyncio (issue #3245).
- 6.39.0
* This release improves Hypothesis’ handling of positional-only
arguments, which are now allowed @st.composite strategies.
* On Python 3.8 and later, the first arguments to builds() and
from_model() are now natively positional-only. In cases which
were already errors, the TypeError from incorrect usage will
therefore be raises immediately when the function is called,
rather than when the strategy object is used.
- Release 6.38.0
* This release makes floats() error consistently when your
floating-point hardware has been configured to violate IEEE-754
for subnormal numbers, instead of only when an internal
assertion was tripped (issue #3092).
* If this happens to you, passing allow_subnormal=False will
suppress the explicit error. However, we strongly recommend
fixing the root cause by disabling global-effect unsafe-math
compiler options instead, or at least consulting e.g. Simon
Byrne’s Beware of fast-math explainer first.
- Release 6.37.2
* This patch fixes a bug in stateful testing, where returning a
single value wrapped in multiple() would be printed such that
the assigned variable was a tuple rather than the single
element (issue #3236).
- Release 6.37.1
* This patch fixes a warning under pytest 7 relating to our rich
traceback display logic (issue #3223).
- Release 6.37.0
* When distinguishing multiple errors, Hypothesis now looks at
the inner exceptions of PEP 654 ExceptionGroups.
- Release 6.36.2
* This patch updates our vendored list of top-level domains,
which is used by the provisional domains() strategy.
- Release 6.36.1
* This patch fixes some deprecation warnings from pytest 7.0,
along with some code formatting and docs updates.
- Release 6.36.0
* This release disallows using typing.Final with from_type() and
register_type_strategy().
* Why? Because Final can only be used during class definition. We
don’t generate class attributes.
* It also does not make sense as a runtime type on its own.
- Release 6.35.1
* This patch fixes hypothesis write output highlighting with rich
version 12.0 and later.
- Drop importorskip-numpy-pandas.patch
OBS-URL: https://build.opensuse.org/request/show/963086
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=150
2022-03-19 23:02:39 +00:00
|
|
|
BuildRequires: %{python_module setuptools}
|
2023-01-09 05:05:53 +00:00
|
|
|
BuildRequires: %{python_module wheel}
|
2017-06-30 07:30:34 +00:00
|
|
|
BuildRequires: fdupes
|
2017-02-24 14:34:42 +00:00
|
|
|
BuildRequires: python-rpm-macros
|
2020-08-14 21:42:04 +00:00
|
|
|
Requires: python-attrs >= 19.2.0
|
2023-01-09 05:05:53 +00:00
|
|
|
Requires: (python-exceptiongroup >= 1.0.0 if python-base < 3.11)
|
|
|
|
Requires: (python-sortedcontainers >= 2.1.0 with python-sortedcontainers < 3.0)
|
2024-03-15 17:18:02 +00:00
|
|
|
BuildArch: noarch
|
2025-08-21 08:33:41 +00:00
|
|
|
%if %{with libalternatives}
|
|
|
|
BuildRequires: alts
|
|
|
|
Requires: alts
|
|
|
|
%else
|
|
|
|
Requires(post): update-alternatives
|
|
|
|
Requires(postun): update-alternatives
|
|
|
|
%endif
|
2021-12-14 13:03:46 +00:00
|
|
|
# SECTION requires_extra
|
2024-03-15 17:18:02 +00:00
|
|
|
Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8)
|
2021-12-14 13:03:46 +00:00
|
|
|
# consuming packages need to declare these optional dependencies explicitly
|
2024-10-23 16:58:01 +00:00
|
|
|
Recommends: python-Django >= 4.2
|
- 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
|
|
|
Recommends: python-black >= 20.8
|
2021-12-14 13:03:46 +00:00
|
|
|
Recommends: python-click >= 7.0
|
2020-08-14 21:42:04 +00:00
|
|
|
Recommends: python-dpcontracts >= 0.4
|
2022-12-15 06:51:57 +00:00
|
|
|
Recommends: python-lark >= 0.10.1
|
2021-03-25 07:53:05 +00:00
|
|
|
Recommends: python-libcst >= 0.3.16
|
2024-11-16 17:28:51 +00:00
|
|
|
Recommends: python-numpy >= 2
|
2023-05-10 16:33:33 +00:00
|
|
|
Recommends: python-pandas >= 1.1
|
2021-12-14 13:03:46 +00:00
|
|
|
Recommends: python-pytest >= 4.6
|
2020-08-14 21:42:04 +00:00
|
|
|
Recommends: python-python-dateutil >= 1.4
|
2021-12-14 13:03:46 +00:00
|
|
|
Recommends: python-pytz >= 2014.1
|
2020-11-19 11:58:51 +00:00
|
|
|
Recommends: python-redis >= 3.0.0
|
2021-12-14 13:03:46 +00:00
|
|
|
Recommends: python-rich >= 9.0
|
|
|
|
# /SECTION
|
2019-03-18 08:14:01 +00:00
|
|
|
%if %{with test}
|
2023-01-09 05:05:53 +00:00
|
|
|
BuildRequires: %{python_module hypothesis = %{version}}
|
2018-06-07 18:15:11 +00:00
|
|
|
# SECTION test requirements
|
2022-06-14 07:39:05 +00:00
|
|
|
BuildRequires: %{python_module backports.zoneinfo >= 0.2.1 if %python-base < 3.9}
|
- 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
|
|
|
BuildRequires: %{python_module black >= 20.8}
|
2023-02-17 16:55:10 +00:00
|
|
|
BuildRequires: %{python_module click}
|
2021-03-25 07:53:05 +00:00
|
|
|
BuildRequires: %{python_module dpcontracts >= 0.4}
|
2018-06-07 18:15:11 +00:00
|
|
|
BuildRequires: %{python_module flaky}
|
2022-12-15 06:51:57 +00:00
|
|
|
BuildRequires: %{python_module lark >= 0.10.1}
|
2021-03-25 07:53:05 +00:00
|
|
|
BuildRequires: %{python_module libcst >= 0.3.16}
|
2024-11-16 17:28:51 +00:00
|
|
|
BuildRequires: %{python_module numpy >= 2}
|
2020-08-14 21:42:04 +00:00
|
|
|
BuildRequires: %{python_module pexpect}
|
2021-03-25 07:53:05 +00:00
|
|
|
BuildRequires: %{python_module pytest >= 4.6}
|
2020-08-14 21:42:04 +00:00
|
|
|
BuildRequires: %{python_module pytest-xdist}
|
|
|
|
BuildRequires: %{python_module python-dateutil >= 1.4}
|
2024-11-26 13:19:48 +00:00
|
|
|
BuildRequires: %{python_module rich >= 9.0.0}
|
2023-02-17 16:55:10 +00:00
|
|
|
BuildRequires: %{python_module typing_extensions}
|
2025-02-26 10:50:33 +00:00
|
|
|
BuildRequires: %{python_module watchdog}
|
2024-03-15 17:18:02 +00:00
|
|
|
%if %{with complete_tests}
|
- 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
|
|
|
BuildRequires: %{python_module Django >= 4.2}
|
2024-03-15 17:18:02 +00:00
|
|
|
BuildRequires: %{python_module fakeredis}
|
|
|
|
BuildRequires: %{python_module pandas >= 1.1}
|
|
|
|
%endif
|
2018-06-07 18:15:11 +00:00
|
|
|
# /SECTION
|
2021-12-14 13:03:46 +00:00
|
|
|
%endif
|
2017-02-24 14:34:42 +00:00
|
|
|
%python_subpackages
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
%description
|
Accepting request 963086 from home:bnavigator:branches:devel:languages:python
- Update to 6.39.4
* This patch tweaks some internal formatting. There is no
user-visible change.
- Release 6.39.3
* If the shrink phase is disabled, we now stop the generate phase
as soon as an error is found regardless of the value of the
report_multiple_examples setting, since that’s probably what
you wanted (issue #3244).
- Release 6.39.2
* This patch clarifies rare error messages in builds() (issue
#3225) and floats() (issue #3207).
- Release 6.39.1
* This patch fixes a regression where the bound inner function
(your_test.hypothesis.inner_test) would be invoked with
positional arguments rather than passing them by name, which
broke pytest-asyncio (issue #3245).
- 6.39.0
* This release improves Hypothesis’ handling of positional-only
arguments, which are now allowed @st.composite strategies.
* On Python 3.8 and later, the first arguments to builds() and
from_model() are now natively positional-only. In cases which
were already errors, the TypeError from incorrect usage will
therefore be raises immediately when the function is called,
rather than when the strategy object is used.
- Release 6.38.0
* This release makes floats() error consistently when your
floating-point hardware has been configured to violate IEEE-754
for subnormal numbers, instead of only when an internal
assertion was tripped (issue #3092).
* If this happens to you, passing allow_subnormal=False will
suppress the explicit error. However, we strongly recommend
fixing the root cause by disabling global-effect unsafe-math
compiler options instead, or at least consulting e.g. Simon
Byrne’s Beware of fast-math explainer first.
- Release 6.37.2
* This patch fixes a bug in stateful testing, where returning a
single value wrapped in multiple() would be printed such that
the assigned variable was a tuple rather than the single
element (issue #3236).
- Release 6.37.1
* This patch fixes a warning under pytest 7 relating to our rich
traceback display logic (issue #3223).
- Release 6.37.0
* When distinguishing multiple errors, Hypothesis now looks at
the inner exceptions of PEP 654 ExceptionGroups.
- Release 6.36.2
* This patch updates our vendored list of top-level domains,
which is used by the provisional domains() strategy.
- Release 6.36.1
* This patch fixes some deprecation warnings from pytest 7.0,
along with some code formatting and docs updates.
- Release 6.36.0
* This release disallows using typing.Final with from_type() and
register_type_strategy().
* Why? Because Final can only be used during class definition. We
don’t generate class attributes.
* It also does not make sense as a runtime type on its own.
- Release 6.35.1
* This patch fixes hypothesis write output highlighting with rich
version 12.0 and later.
- Drop importorskip-numpy-pandas.patch
OBS-URL: https://build.opensuse.org/request/show/963086
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=150
2022-03-19 23:02:39 +00:00
|
|
|
Hypothesis is a family of testing libraries which let you write tests parametrized
|
|
|
|
by a source of examples. A Hypothesis implementation then generates simple and
|
|
|
|
comprehensible examples that make your tests fail. This simplifies writing your
|
|
|
|
tests and makes them more powerful at the same time, by letting software automate
|
|
|
|
the boring bits and do them to a higher standard than a human would, freeing you
|
|
|
|
to focus on the higher level test logic.
|
2015-11-11 10:36:03 +00:00
|
|
|
|
Accepting request 963086 from home:bnavigator:branches:devel:languages:python
- Update to 6.39.4
* This patch tweaks some internal formatting. There is no
user-visible change.
- Release 6.39.3
* If the shrink phase is disabled, we now stop the generate phase
as soon as an error is found regardless of the value of the
report_multiple_examples setting, since that’s probably what
you wanted (issue #3244).
- Release 6.39.2
* This patch clarifies rare error messages in builds() (issue
#3225) and floats() (issue #3207).
- Release 6.39.1
* This patch fixes a regression where the bound inner function
(your_test.hypothesis.inner_test) would be invoked with
positional arguments rather than passing them by name, which
broke pytest-asyncio (issue #3245).
- 6.39.0
* This release improves Hypothesis’ handling of positional-only
arguments, which are now allowed @st.composite strategies.
* On Python 3.8 and later, the first arguments to builds() and
from_model() are now natively positional-only. In cases which
were already errors, the TypeError from incorrect usage will
therefore be raises immediately when the function is called,
rather than when the strategy object is used.
- Release 6.38.0
* This release makes floats() error consistently when your
floating-point hardware has been configured to violate IEEE-754
for subnormal numbers, instead of only when an internal
assertion was tripped (issue #3092).
* If this happens to you, passing allow_subnormal=False will
suppress the explicit error. However, we strongly recommend
fixing the root cause by disabling global-effect unsafe-math
compiler options instead, or at least consulting e.g. Simon
Byrne’s Beware of fast-math explainer first.
- Release 6.37.2
* This patch fixes a bug in stateful testing, where returning a
single value wrapped in multiple() would be printed such that
the assigned variable was a tuple rather than the single
element (issue #3236).
- Release 6.37.1
* This patch fixes a warning under pytest 7 relating to our rich
traceback display logic (issue #3223).
- Release 6.37.0
* When distinguishing multiple errors, Hypothesis now looks at
the inner exceptions of PEP 654 ExceptionGroups.
- Release 6.36.2
* This patch updates our vendored list of top-level domains,
which is used by the provisional domains() strategy.
- Release 6.36.1
* This patch fixes some deprecation warnings from pytest 7.0,
along with some code formatting and docs updates.
- Release 6.36.0
* This release disallows using typing.Final with from_type() and
register_type_strategy().
* Why? Because Final can only be used during class definition. We
don’t generate class attributes.
* It also does not make sense as a runtime type on its own.
- Release 6.35.1
* This patch fixes hypothesis write output highlighting with rich
version 12.0 and later.
- Drop importorskip-numpy-pandas.patch
OBS-URL: https://build.opensuse.org/request/show/963086
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-hypothesis?expand=0&rev=150
2022-03-19 23:02:39 +00:00
|
|
|
This sort of testing is often called "property-based testing", and the most widely
|
|
|
|
known implementation of the concept is the Haskell library QuickCheck, but
|
|
|
|
Hypothesis differs significantly from QuickCheck and is designed to fit idiomatically
|
|
|
|
and easily into existing styles of testing that you are used to, with absolutely no
|
|
|
|
familiarity with Haskell or functional programming needed.
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
%prep
|
2022-01-10 20:28:02 +00:00
|
|
|
%setup -q -n hypothesis-python-%{version}
|
|
|
|
%autopatch -p1
|
|
|
|
|
2020-08-14 21:42:04 +00:00
|
|
|
# gh#HypothesisWorks/hypothesis#2447: make sure arr==0.0 is an array on 32-bit
|
|
|
|
sed -i 's/assert (arr == 0.0)/assert np.asarray(arr == 0.0)/' tests/numpy/test_gen_data.py
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
%build
|
2020-08-14 21:42:04 +00:00
|
|
|
%if !%{with test}
|
2023-01-09 05:05:53 +00:00
|
|
|
%pyproject_wheel
|
2020-08-14 21:42:04 +00:00
|
|
|
%endif
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
%install
|
2018-09-17 13:03:22 +00:00
|
|
|
%if !%{with test}
|
2023-01-09 05:05:53 +00:00
|
|
|
%pyproject_install
|
2020-08-14 21:42:04 +00:00
|
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
2018-09-05 11:17:34 +00:00
|
|
|
|
2020-11-11 12:23:09 +00:00
|
|
|
%python_clone -a %{buildroot}%{_bindir}/hypothesis
|
2020-11-19 11:58:51 +00:00
|
|
|
%endif
|
2020-11-11 12:23:09 +00:00
|
|
|
|
2025-08-21 08:33:41 +00:00
|
|
|
%post
|
|
|
|
%python_install_alternative hypothesis
|
|
|
|
|
|
|
|
%postun
|
|
|
|
%python_uninstall_alternative hypothesis
|
|
|
|
|
2025-07-10 13:19:50 +00:00
|
|
|
%pre
|
|
|
|
%python_libalternatives_reset_alternative hypothesis
|
2020-11-11 12:23:09 +00:00
|
|
|
|
2018-09-05 11:17:34 +00:00
|
|
|
%check
|
2019-04-30 13:27:39 +00:00
|
|
|
%if %{with test}
|
2020-08-14 21:42:04 +00:00
|
|
|
# theses tests try to write into global python_sitelib
|
|
|
|
# https://github.com/HypothesisWorks/hypothesis/issues/2546
|
2021-03-25 07:53:05 +00:00
|
|
|
donttest="test_updating_the_file_include_new_shrinkers"
|
|
|
|
donttest+=" or test_can_learn_to_normalize_the_unnormalized"
|
2023-12-27 10:15:20 +00:00
|
|
|
# requires a git checkout
|
|
|
|
donttest+=" or test_observability"
|
2023-08-31 10:17:27 +00:00
|
|
|
if [ $(getconf LONG_BIT) -eq 32 ]; then
|
|
|
|
donttest+=" or test_gets_right_dtype_for_empty_indices"
|
|
|
|
fi
|
2024-09-06 07:04:37 +00:00
|
|
|
# suddenly does not raise InvalidArgument with Numpy 2
|
|
|
|
donttest+=" or test_unrepresentable_elements_are_deprecated"
|
2023-08-31 10:17:27 +00:00
|
|
|
# we're disabling the healthcheck below, obs is too flaky with it
|
- 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
|
|
|
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
|
2025-09-02 15:26:06 +00:00
|
|
|
donttest+=" or test_has_string_of_max_length or test_database_listener_directory"
|
- 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
|
|
|
# drop tests testing functionality we don't have
|
|
|
|
rm tests/crosshair/test_crosshair.py
|
2021-03-25 07:53:05 +00:00
|
|
|
# adapted from pytest.ini in github repo toplevel dir (above hypothesis-python)
|
|
|
|
echo '[pytest]
|
|
|
|
addopts=
|
2023-08-31 10:17:27 +00:00
|
|
|
-rfE
|
2021-03-25 07:53:05 +00:00
|
|
|
--strict-markers
|
|
|
|
--tb=native
|
2023-08-31 10:17:27 +00:00
|
|
|
-p pytester
|
|
|
|
--runpytest=subprocess
|
|
|
|
--hypothesis-profile=obs
|
2021-03-25 07:53:05 +00:00
|
|
|
-v
|
|
|
|
-n auto
|
2023-10-11 12:12:14 +00:00
|
|
|
--durations-min=1.0
|
2023-08-31 10:17:27 +00:00
|
|
|
xfail_strict = False
|
2021-03-25 07:53:05 +00:00
|
|
|
filterwarnings =
|
2023-08-31 10:17:27 +00:00
|
|
|
# error <-- disabled for obs packaging
|
2021-03-25 07:53:05 +00:00
|
|
|
ignore::hypothesis.errors.NonInteractiveExampleWarning
|
2022-06-14 07:39:05 +00:00
|
|
|
# https://github.com/pandas-dev/pandas/issues/41199
|
|
|
|
default:Creating a LegacyVersion has been deprecated and will be removed in the next major release:DeprecationWarning
|
|
|
|
default:distutils Version classes are deprecated\. Use packaging\.version instead:DeprecationWarning
|
|
|
|
# https://github.com/pandas-dev/pandas/issues/32056 (?)
|
|
|
|
default:numpy\.ufunc size changed, may indicate binary incompatibility\. Expected 216 from C header, got 232 from PyObject:RuntimeWarning
|
|
|
|
# https://github.com/pandas-dev/pandas/issues/34848
|
|
|
|
default:`np\.bool` is a deprecated alias for the builtin `bool`:DeprecationWarning
|
|
|
|
default:`np\.complex` is a deprecated alias for the builtin `complex`:DeprecationWarning
|
|
|
|
default:`np\.object` is a deprecated alias for the builtin `object`:DeprecationWarning
|
2021-03-25 07:53:05 +00:00
|
|
|
' > pytest.ini
|
2023-08-31 10:17:27 +00:00
|
|
|
# increase test deadline for slow obs executions
|
|
|
|
echo "
|
|
|
|
import hypothesis
|
|
|
|
|
|
|
|
hypothesis.settings.register_profile(
|
|
|
|
'obs',
|
|
|
|
deadline=5000,
|
|
|
|
suppress_health_check=[
|
|
|
|
hypothesis.HealthCheck.too_slow,
|
|
|
|
]
|
|
|
|
)
|
|
|
|
" >> tests/conftest.py
|
2023-02-17 16:55:10 +00:00
|
|
|
%if %{without complete_tests}
|
|
|
|
export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_exampledatabase.py"
|
|
|
|
%endif
|
2023-08-31 10:17:27 +00:00
|
|
|
%pytest -c pytest.ini -k "not ($donttest)" tests; rm -rf .pytest_cache
|
2018-09-05 11:17:34 +00:00
|
|
|
%endif
|
2015-11-11 10:36:03 +00:00
|
|
|
|
2019-04-30 13:27:39 +00:00
|
|
|
%if !%{with test}
|
2017-02-24 14:34:42 +00:00
|
|
|
%files %{python_files}
|
2020-08-14 21:42:04 +00:00
|
|
|
%license LICENSE.txt
|
2025-03-04 09:07:06 +00:00
|
|
|
%doc README.md
|
2020-11-11 12:23:09 +00:00
|
|
|
%python_alternative %{_bindir}/hypothesis
|
2024-02-27 10:18:11 +00:00
|
|
|
%{python_sitelib}/hypothesis
|
|
|
|
%{python_sitelib}/_hypothesis*.py
|
2023-01-09 05:05:53 +00:00
|
|
|
%{python_sitelib}/hypothesis-%{version}.dist-info
|
2021-12-06 09:35:57 +00:00
|
|
|
%pycache_only %{python_sitelib}/__pycache__/*hypothesis*
|
2018-09-13 14:27:57 +00:00
|
|
|
%endif
|
2015-11-11 10:36:03 +00:00
|
|
|
|
|
|
|
%changelog
|