Sync from SUSE:SLFO:Main python-hypothesis revision 972d826a20cf56cc9887a371bd634ac3

This commit is contained in:
2024-09-25 17:14:15 +02:00
parent df02d97b1a
commit df401f24b4
5 changed files with 389 additions and 217 deletions

View File

@@ -1,16 +1,16 @@
<services>
<service name="tar_scm" mode="disabled">
<service name="tar_scm" mode="manual">
<param name="url">https://github.com/HypothesisWorks/hypothesis.git</param>
<param name="scm">git</param>
<param name="revision">hypothesis-python-6.82.7</param>
<param name="revision">hypothesis-python-6.98.9</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">hypothesis-python-(.*)</param>
<param name="subdir">hypothesis-python</param>
<param name="filename">hypothesis-python</param>
</service>
<service name="recompress" mode="disabled">
<service name="recompress" mode="manual">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="disabled" />
<service name="set_version" mode="manual" />
</services>

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

Binary file not shown.

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

Binary file not shown.

View File

@@ -1,3 +1,169 @@
-------------------------------------------------------------------
Mon Jul 29 11:16:28 UTC 2024 - Daniel Garcia <daniel.garcia@suse.com>
- Disable complete tests for non-tumbleweed to avoid python-pandas
requirement
-------------------------------------------------------------------
Fri Mar 15 17:17:55 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Clean up the SPEC file
-------------------------------------------------------------------
Thu Feb 22 12:42:26 UTC 2024 - Markéta Machová <mmachova@suse.com>
- Update to 6.98.9
* Avoid creating a .hypothesis directory when using register_type_strategy().
* Add ability to pass any object to note().
* Warn when constructing a repr that is overly long.
* Change the distribution of sampled_from() when sampling from a Flag.
* Deprecate use of the global random number generator while drawing from a strategy.
* Improve our distribution of generated values for all strategies.
* Improve the Ghostwriter for binary operators.
-------------------------------------------------------------------
Wed Jan 24 13:47:04 UTC 2024 - ecsos <ecsos@opensuse.org>
- Update to 6.93.2:
* This patch improves observability reports by moving timing
information from metadata to a new timing key, and supporting
conversion of additional argument types to json rather than
string reprs via a .to_json() method
(including e.g. Pandas dataframes).
-------------------------------------------------------------------
Sat Jan 6 20:28:21 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 6.92.2:
* updates vendored list of top-level domains
-------------------------------------------------------------------
Wed Dec 27 10:12:38 UTC 2023 - Dirk Müller <dmueller@suse.com>
- update to 6.92.1:
* This release adds an experimental :wikipedia:`observability
* This patch fixes an issue where
:func:`~hypothesis.strategies.builds` could not be used with
:pypi:`attrs` objects that defined private attributes (i.e.
attributes with a leading underscore). See also
* This release adds an optional ``payload`` argument to
:func:`hypothesis.event`, so that you can clearly express
the difference between the label and the value of an
observation.
* This patch supports assigning ``settings = settings(...)`` as
a class attribute on a subclass of a ``.TestCase`` attribute
of a :class:`~hypothesis.stateful.RuleBasedStateMachine`.
* This release makes it an error to assign ``settings =
settings(...)`` as a class attribute on a
:class:`~hypothesis.stateful.RuleBasedStateMachine`.
* This patch refactors some internals. There is no user-
visible change, but we hope to improve performance and unlock
support for alternative backends such as :pypi:`symbolic
execution with crosshair in future (:issue:`3086`).
* This release teaches :func:`~hypothesis.strategies.from_type`
to handle constraints implied by the :pypi:`annotated-types`
package - as used by e.g. :pypi:`Pydantic`.
* This patch adds a warning when :func:`@st.composite
wraps a function annotated as returning a
:class:`~hypothesis.strategies.SearchStrategy`,
since this is usually an error (:issue:`3786`).
* This patch refactors ``from_type(typing.Tuple)``, allowing
:func:`~hypothesis.strategies.register_type_strategy` to take
effect for tuples instead of being silently ignored
* This patch improves the speed of the explain phase on python
3.12+, by using the new :mod:`sys.monitoring` module to collect
coverage, instead of :obj:`sys.settrace`.
-------------------------------------------------------------------
Wed Nov 1 15:02:50 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- Update to 6.88.1
* improves :func:`~hypothesis.strategies.register_type_strategy` when
used with tuple subclasses, by preventing them from being interpreted
as generic and provided to strategies like st.from_type(Sequence[int])
-------------------------------------------------------------------
Mon Oct 16 14:10:17 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- Update to 6.88.0
- disable flaky test
* This release allows strategy-generating functions registered
with register_type_strategy() to conditionally not return
a strategy, by returning NotImplemented
* When randoms( was called with use_true_randoms=False,
calling sample on it with an empty sequence and 0 elements
would result in an error, when it should have returned
an empty sequence to agree with the normal behaviour of
random.Random. This fixes that discrepancy.)
-------------------------------------------------------------------
Wed Oct 11 09:18:10 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>
- Update to 6.87.3
* This patch ensures that the :ref:`hypothesis codemod <codemods>`
CLI will print a warning instead of stopping with an internal error
if one of your files contains invalid syntax (:issue:`3759`).
* This patch makes some small changes to our NumPy integration
to ensure forward compatibility.
* Fixes :issue:`3755`, where an internal condition turns out to be
reachable after all.
* This release deprecates use of :func:`~hypothesis.assume`
and reject() outside of property-based tests, because these functions
work by raising a special exception (:issue:`3743`).
It also fixes some type annotations (:issue:`3753`).
* Hotfix for :issue:`3747`, a bug in explain mode which is so rare
that we missed it in six months of dogfooding. Thanks to :pypi:`mygrad`
for discovering and promptly reporting this!
* This patch improves the documentation of
:obj:`@example(...).xfail() <hypothesis.example.xfail>` by adding a note
about PEP 614, similar to :obj:`@example(...).via() <hypothesis.example.via>`,
and adds a warning when a strategy generates a test case which
seems identical to one provided by an xfailed example.
* This release enables the :obj:`~hypothesis.Phase.explain`
:ref:`phase <phases>` by default. We hope it helps you to understand
why your failing tests have failed!
* This patch switches some of our type annotations to use
:obj:`typing.Literal` when only a few specific values are allowed,
such as UUID or IP address versions.
* This release deprecates the old whitelist/blacklist arguments to
:func:`~hypothesis.strategies.characters`, in favor of include/exclude
arguments which more clearly describe their effects on the set
of characters which can be generated.
* You can :ref:`use Hypothesis' codemods <codemods>` to automatically
upgrade to the new argument names. In a future version, the old names
will start to raise a DeprecationWarning.
* This patch automatically disables the
:obj:`~hypothesis.HealthCheck.differing_executors` health check
for methods which are also pytest parametrized tests, because those
were mostly false alarms (:issue:`3733`).
* Building on recent releases, :func:`~hypothesis.strategies.characters`
now accepts _any_ codec=, not just "utf-8" and "ascii".
* This includes standard codecs from the :mod:`codecs` module and their aliases,
platform specific and user-registered codecs if they are available,
and python-specific text encodings (but not text transforms or binary transforms).
* This patch by Reagan Lee makes st.text(...).filter(str.isidentifier)
return an efficient custom strategy (:issue:`3480`).
* The :func:`~hypothesis.strategies.from_regex` strategy now takes an optional
alphabet=characters(codec="utf-8") argument for unicode strings,
like :func:`~hypothesis.strategies.text`.
* This offers more and more-consistent control over the generated strings,
removing previously-hard-coded limitations. With fullmatch=False and alphabet=characters(),
surrogate characters are now possible in leading and trailing text as well as the body
of the match. Negated character classes such as [^A-Z] or \S had a hard-coded
exclusion of control characters and surrogate characters; now they permit
anything in alphabet= consistent with the class, and control characters
are permitted by default.
* Add a health check that detects if the same test is executed several times
by :ref:`different executors<custom-function-execution>`. This can lead
to difficult-to-debug problems such as :issue:`3446`.
* Pretty-printing of failing examples can now use functions registered with
:func:`IPython.lib.pretty.for_type` or :func:`~IPython.lib.pretty.for_type_by_name`,
as well as restoring compatibility with _repr_pretty_ callback methods which were
accidentally broken in :ref:`version 6.61.2 <v6.61.2>` (:issue:`3721`).
* Adds a new codec= option in :func:`~hypothesis.strategies.characters`,
making it convenient to produce only characters which can be encoded
as ascii or utf-8 bytestrings.
-------------------------------------------------------------------
Tue Aug 29 17:43:45 UTC 2023 - Ben Greiner <code@bnavigator.de>

View File

@@ -1,7 +1,7 @@
#
# spec file
# spec file for package python-hypothesis
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,14 @@
#
%bcond_with ringdisabled
%global flavor @BUILD_FLAVOR@%{nil}
# Without complete tests for SLES to avoid python-pandas requirement
%if 0%{?suse_version} <= 1600
%bcond_with complete_tests
%else
%bcond_without complete_tests
%endif
%bcond_with ringdisabled
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
@@ -30,23 +36,18 @@ ExclusiveArch: do_not_build
%define psuffix %{nil}
%bcond_with test
%endif
%if 0%{?suse_version} <= 1550
%bcond_with complete_tests
%else
%bcond_without complete_tests
%endif
%{?sle15_python_module_pythons}
Name: python-hypothesis%{psuffix}
Version: 6.82.7
Version: 6.98.9
Release: 0
Summary: A library for property based testing
License: MPL-2.0
URL: https://github.com/HypothesisWorks/hypothesis
# Source is the `hypothesis-python` subdir of the Github repository.
# Edit the `_service` file and run `osc service runall` for updates.
# Edit the `_service` file and run `osc service manualrun` for updates.
# See also https://hypothesis.readthedocs.io/en/latest/packaging.html
Source: hypothesis-python-%{version}.tar.gz
BuildRequires: %{python_module base >= 3.7}
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytz}
BuildRequires: %{python_module setuptools}
@@ -57,8 +58,10 @@ Requires: python-attrs >= 19.2.0
Requires: (python-exceptiongroup >= 1.0.0 if python-base < 3.11)
Requires: (python-sortedcontainers >= 2.1.0 with python-sortedcontainers < 3.0)
Requires(post): update-alternatives
Requires(preun):update-alternatives
Requires(preun): update-alternatives
BuildArch: noarch
# SECTION requires_extra
Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8)
# consuming packages need to declare these optional dependencies explicitly
Recommends: python-Django >= 3.2
Recommends: python-black >= 19.10
@@ -73,17 +76,10 @@ Recommends: python-python-dateutil >= 1.4
Recommends: python-pytz >= 2014.1
Recommends: python-redis >= 3.0.0
Recommends: python-rich >= 9.0
Recommends: (python-importlib_metadata >= 3.6 if python-base < 3.8)
# /SECTION
BuildArch: noarch
%if %{with test}
BuildRequires: %{python_module hypothesis = %{version}}
# SECTION test requirements
%if %{with complete_tests}
BuildRequires: %{python_module Django >= 3.2}
BuildRequires: %{python_module fakeredis}
BuildRequires: %{python_module pandas >= 1.1}
%endif
BuildRequires: %{python_module backports.zoneinfo >= 0.2.1 if %python-base < 3.9}
BuildRequires: %{python_module black >= 19.10}
BuildRequires: %{python_module click}
@@ -97,6 +93,11 @@ BuildRequires: %{python_module pytest >= 4.6}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module python-dateutil >= 1.4}
BuildRequires: %{python_module typing_extensions}
%if %{with complete_tests}
BuildRequires: %{python_module Django >= 3.2}
BuildRequires: %{python_module fakeredis}
BuildRequires: %{python_module pandas >= 1.1}
%endif
# /SECTION
%endif
%python_subpackages
@@ -147,11 +148,12 @@ sed -i 's/assert (arr == 0.0)/assert np.asarray(arr == 0.0)/' tests/numpy/test_g
# https://github.com/HypothesisWorks/hypothesis/issues/2546
donttest="test_updating_the_file_include_new_shrinkers"
donttest+=" or test_can_learn_to_normalize_the_unnormalized"
# requires a git checkout
donttest+=" or test_observability"
# Fail because typing comparison
donttest+=" or test_ghostwriter_on_hypothesis"
if [ $(getconf LONG_BIT) -eq 32 ]; then
donttest+=" or test_gets_right_dtype_for_empty_indices"
donttest+=" or test_has_string_of_max_length"
fi
# https://github.com/HypothesisWorks/hypothesis/issues/3704
donttest+=" or (test_make_full_patch and covering)"
@@ -160,6 +162,8 @@ donttest+=" or test_overflowing_integers_are_deprecated"
donttest+=" or fails_health_check or slow_tests or on_healthcheck or a_health_check"
donttest+=" or test_statistics_with_events_and_target"
donttest+=" or test_self_ref_regression"
# flaky test
donttest+=" or test_has_string_of_max_length"
# adapted from pytest.ini in github repo toplevel dir (above hypothesis-python)
echo '[pytest]
addopts=
@@ -171,6 +175,7 @@ addopts=
--hypothesis-profile=obs
-v
-n auto
--durations-min=1.0
xfail_strict = False
filterwarnings =
# error <-- disabled for obs packaging
@@ -208,7 +213,8 @@ export PYTEST_ADDOPTS="--ignore=tests/pandas/ --ignore=tests/redis/test_redis_ex
%license LICENSE.txt
%doc README.rst
%python_alternative %{_bindir}/hypothesis
%{python_sitelib}/*hypothesis*
%{python_sitelib}/hypothesis
%{python_sitelib}/_hypothesis*.py
%{python_sitelib}/hypothesis-%{version}.dist-info
%pycache_only %{python_sitelib}/__pycache__/*hypothesis*
%endif