diff --git a/_service b/_service
new file mode 100644
index 0000000..21ca395
--- /dev/null
+++ b/_service
@@ -0,0 +1,13 @@
+
+
+
+ https://github.com/HypothesisWorks/hypothesis.git
+ git
+ hypothesis-python-5.24.2
+ @PARENT_TAG@
+ hypothesispython(.*)
+ hypothesis-python
+ hypothesis-python
+
+
+
diff --git a/failing-test_array_values_are_unique_high_collision.patch b/failing-test_array_values_are_unique_high_collision.patch
deleted file mode 100644
index d5f3bdb..0000000
--- a/failing-test_array_values_are_unique_high_collision.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/tests/numpy/test_gen_data.py
-+++ b/tests/numpy/test_gen_data.py
-@@ -13,6 +13,7 @@
- #
- # END HEADER
-
-+import struct
- import sys
- from functools import reduce
- from itertools import zip_longest
-@@ -28,6 +29,7 @@ from hypothesis.strategies._internal imp
- from tests.common.debug import find_any, minimal
- from tests.common.utils import fails_with, flaky
-
-+_IS_32BIT = 8 * struct.calcsize("P") == 32
- ANY_SHAPE = nps.array_shapes(min_dims=0, max_dims=32, min_side=0, max_side=32)
- ANY_NONZERO_SHAPE = nps.array_shapes(min_dims=0, max_dims=32, min_side=1, max_side=32)
- STANDARD_TYPES = list(
-@@ -361,6 +363,7 @@ def test_cannot_generate_unique_array_of
- strat.example()
-
-
-+@pytest.mark.skipif(_IS_32BIT, reason="Test fails on 32bit architecture.")
- @given(
- nps.arrays(
- elements=st.just(0.0),
diff --git a/hypothesis-python-5.19.0.tar.gz b/hypothesis-python-5.19.0.tar.gz
deleted file mode 100644
index 0907352..0000000
--- a/hypothesis-python-5.19.0.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:5a6108726c1146873841bb761f1d85bff82565a4ec3b04d7fff1dea55f3118ec
-size 9022213
diff --git a/hypothesis-python-5.24.2.obscpio b/hypothesis-python-5.24.2.obscpio
new file mode 100644
index 0000000..88bf70c
--- /dev/null
+++ b/hypothesis-python-5.24.2.obscpio
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6b5de4dd128f7d901deea855fc7e8fd9062d1cf47e8a371d57a289a18c9e9df9
+size 2410508
diff --git a/hypothesis-python.obsinfo b/hypothesis-python.obsinfo
new file mode 100644
index 0000000..f7f57e8
--- /dev/null
+++ b/hypothesis-python.obsinfo
@@ -0,0 +1,5 @@
+name: hypothesis-python
+version: 5.24.2
+mtime: 1597261342
+commit: 06c4e050af7a5460682afabd2f580f45c93b56ef
+
diff --git a/python-hypothesis.changes b/python-hypothesis.changes
index 7f06f02..b946d45 100644
--- a/python-hypothesis.changes
+++ b/python-hypothesis.changes
@@ -1,3 +1,165 @@
+-------------------------------------------------------------------
+Wed Aug 12 20:51:26 UTC 2020 - Benjamin Greiner
+
+- Update to version 5.24.2
+ * This release improves shrink quality by allowing Hypothesis to
+ automatically learn new shrink passes for difficult to shrink
+ tests.
+ * The automatic learning is not currently accessible in user code
+ (it still needs significant work on robustness and performance
+ before it is ready for that), but this release includes learned
+ passes that should improve shrinking quality for tests which
+ use any of the text(), hypothesis.strategies.floats,
+ hypothesis.strategies.datetimes, hypothesis.strategies.emails,
+ and complex_numbers() strategies.
+- Update to version 5.24.1
+ * This patch updates some docstrings, without changing runtime
+ behaviour.
+- add comment about source archive
+
+-------------------------------------------------------------------
+Tue Aug 11 12:28:11 UTC 2020 - Benjamin Greiner
+
+- Update to version 5.24.0
+ * The functions() strategy has a new argument pure=True,
+ which ensures that the same return value is generated
+ for identical calls to the generated function (issue
+ #2538).
+ * Thanks to Zac Hatfield-Dodds and Nikita Sobolev for this
+ feature!
+- Update to version 5.23.12
+ * This release removes a number of Hypothesis's internal
+ "shrink passes" - transformations it makes to a
+ generated test case during shrinking - which appeared to
+ be redundant with other transformations.
+ * It is unlikely that you will see much impact from this.
+ If you do, it will likely show up as a change in
+ shrinking performance (probably slower, maybe faster),
+ or possibly in worse shrunk results. If you encounter
+ the latter, please let us know.
+- remove rpmlintrc again
+- use only github source repository (python subdir) in obscpio
+
+-------------------------------------------------------------------
+Sat Aug 8 08:41:01 UTC 2020 - Benjamin Greiner
+
+- Use PyPI source for package and test it with tests from the
+ Github repository -- source hypothesis-python-tests-5.23.11
+ as direct CPIO archive hypothesis-python-tests-5.23.11.obscpio
+ created by (locally run) obs_scm service
+- Reenable django and pandas tests
+- With ringdisabled, do not run test flavor at all
+- Require and use pytest-xdist in tests
+ * Reenables the one skipped test
+ * Trims total build time by a large factor despite now running
+ pandas and django tests too!
+- Drop failing-test_array_values_are_unique_high_collision.patch
+ * Fix the test instead gh#HypothesisWorks/hypothesis#2447
+- python-hypothesis-rpmlintrc -- filter empty types file
+- Sync requirements versions to setup.py
+ * newer versions probably came from wrong interpretation of
+ upstream's version pinning
+- Update to version 5.23.11
+ * This release fixes a bug in some internal Hypothesis support
+ code. It has no user visible impact.
+- Update to version 5.23.10
+ * This release improves the quality of shrunk test cases in some
+ special cases. Specifically, it should get shrinking unstuck in
+ some scenarios which require simultaneously changing two parts
+ of the generated test case.
+- Update to version 5.23.9
+ * This release improves the performance of some internal support
+ code. It has no user visible impact, as that code is not
+ currently run during normal Hypothesis operation.
+- Update to version 5.23.8
+ * This release adds a heuristic to detect when shrinking has
+ finished despite the fact that there are many more possible
+ transformations to try. This will be particularly useful for
+ tests where the minimum failing test case is very large despite
+ there being many smaller test cases possible, where it is
+ likely to speed up shrinking dramatically.
+ * In some cases it is likely that this will result in worse
+ shrunk test cases. In those cases rerunning the test will
+ result in further shrinking.
+- Update to version 5.23.7
+ * This release makes some performance improvements to shrinking.
+ They should only be noticeable for tests that are currently
+ particularly slow to shrink.
+- Update to version 5.23.6
+ * This patch adds some more internal functions to support a new
+ feature we're working on, like version 5.18.3. There is still
+ no user-visible changes yet.
+- Update to version 5.23.5
+ * This release makes some changes to internal support code that
+ is not currently used in production Hypothesis. It has no user
+ visible effect at present.
+- Update to version 5.23.4
+ * This release improves shrinking quality in some special cases.
+- Update to version 5.23.3
+ * This release fixes issue #2507, where lazy evaluation meant
+ that the values drawn from a sampled_from() strategy could
+ depend on mutations of the sampled sequence that happened after
+ the strategy was constructed.
+- Update to version 5.23.2
+ * This patch fixes issue #2462, a bug in our handling of
+ unittest.TestCase.subTest(). Thanks to Israel Fruchter for
+ fixing this at the EuroPython sprints!
+- Update to version 5.23.1
+ * This release improves the behaviour of the characters()
+ strategy when shrinking, by changing which characters are
+ considered smallest to prefer more "normal" ascii
+ characters where available.
+- Update to version 5.23.0
+ * The default print_blob setting is now smarter. It defaults to
+ True in CI and False for local development.
+ * Thanks to Hugo van Kemenade for implementing this feature at
+ the EuroPython sprints!
+- Update to version 5.22.0
+ * The slices() strategy can now generate slices for empty
+ sequences, slices with negative start and stop indices (from
+ the end of the sequence), and step=None in place of step=1.
+ * Thanks to Sangarshanan for implementing this feature at the
+ EuroPython sprints!
+- Update to version 5.21.0
+ * This release ensures that tests which raise RecursionError are
+ not reported as flaky simply because we run them from different
+ initial stack depths (issue #2494).
+- Update to version 5.20.4
+ * This release improves the performance of the sample method on
+ objects obtained from randoms() when use_true_random=False.
+ This should mostly only be noticeable when the sample size is a
+ large fraction of the population size, but may also help avoid
+ health check failures in some other cases.
+- Update to version 5.20.3
+ * This release makes some internal changes for testing purposes
+ and should have no user visible effect.
+- Update to version 5.20.2
+ * This release fixes a small caching bug in Hypothesis internals
+ that may under some circumstances have resulted in a less
+ diverse set of test cases being generated than was intended.
+ * Fixing this problem revealed some performance problems that
+ could occur during targeted property based testing, so this
+ release also fixes those. Targeted property-based testing
+ should now be significantly faster in some cases, but this may
+ be at the cost of reduced effectiveness.
+- Update to version 5.20.1
+ * This patch updates our formatting to use isort 5. There is no
+ user-visible change.
+- Update to version 5.20.0
+ * The basic_indices() strategy can now generate bare indexers in
+ place of length-one tuples. Thanks to Andrea for this patch!
+- Update to version 5.19.3
+ * This patch removes an internal use of distutils in order to
+ avoid this setuptools warning for some users.
+- Update to version 5.19.2
+ * This patch contains a small internal refactoring with no
+ user-visible impact.
+ Thanks to Andrea for writing this at the SciPy 2020 Sprints!
+- Update to version 5.19.1
+ * This release slightly improves shrinking behaviour. This should
+ mainly only impact stateful tests, but may have some minor
+ positive impact on shrinking collections (lists, sets, etc).
+
-------------------------------------------------------------------
Thu Jul 2 16:44:48 UTC 2020 - Antonio Larrosa
diff --git a/python-hypothesis.spec b/python-hypothesis.spec
index b41d26a..3f9daf9 100644
--- a/python-hypothesis.spec
+++ b/python-hypothesis.spec
@@ -17,54 +17,65 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define oldpython python
+%define skip_python2 1
+%bcond_with ringdisabled
%global flavor @BUILD_FLAVOR@%{nil}
%if "%{flavor}" == "test"
%define psuffix -test
%bcond_without test
+# Magic for OBS Staging. Only build the flavors required by
+# other packages in the ring.
+%if %{with ringdisabled}
+ExclusiveArch: do_not_build
+%endif
%else
%define psuffix %{nil}
%bcond_with test
%endif
-%define skip_python2 1
Name: python-hypothesis%{psuffix}
-Version: 5.19.0
+Version: 5.24.2
Release: 0
Summary: A library for property based testing
License: MPL-2.0
-URL: https://github.com/HypothesisWorks/hypothesis-python
-Source: https://github.com/HypothesisWorks/hypothesis/archive/hypothesis-python-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM failing-test_array_values_are_unique_high_collision.patch gh#HypothesisWorks/hypothesis#2447 mcepl@suse.com
-# Skip failing test on i586.
-Patch0: failing-test_array_values_are_unique_high_collision.patch
-BuildRequires: %{python_module setuptools >= 36}
+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.
+Source: hypothesis-python-%{version}
+%if 0%{?suse_version} >= 1500
+BuildRequires: %{pythons >= 3.5.2}
+%else
+BuildRequires: %{python_module base >= 3.5.2}
+%endif
+BuildRequires: %{python_module setuptools >= 36.2}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-attrs >= 19.3.0
-Requires: python-sortedcontainers >= 2.2.2
-Recommends: python-Django >= 3.0.7
-Recommends: python-dpcontracts >= 0.6.0
-Recommends: python-lark-parser >= 0.8.9
+Requires: python-attrs >= 19.2.0
+Requires: python-sortedcontainers >= 2.1.0
+Recommends: python-Django >= 2.2
+Recommends: python-dpcontracts >= 0.4
+Recommends: python-lark-parser >= 0.6.5
Recommends: python-numpy >= 1.9.0
Recommends: python-pandas >= 0.19
-Recommends: python-pytest >= 5.4.3
-Recommends: python-python-dateutil >= 2.8.1
+Recommends: python-pytest >= 4.3
+Recommends: python-python-dateutil >= 1.4
Recommends: python-pytz >= 2014.1
BuildArch: noarch
%if %{with test}
# SECTION test requirements
-BuildRequires: %{python_module Django >= 3.0.7}
-BuildRequires: %{python_module attrs >= 19.3.0}
+BuildRequires: %{python_module Django >= 2.2}
+BuildRequires: %{python_module attrs >= 19.2.0}
+BuildRequires: %{python_module black}
BuildRequires: %{python_module dpcontracts >= 0.6.0}
BuildRequires: %{python_module flaky}
-BuildRequires: %{python_module hypothesis >= %{version}}
-BuildRequires: %{python_module lark-parser >= 0.8.9}
-BuildRequires: %{python_module mock}
+BuildRequires: %{python_module hypothesis = %{version}}
+BuildRequires: %{python_module lark-parser >= 0.6.5}
BuildRequires: %{python_module numpy >= 1.9.0}
-BuildRequires: %{python_module pexpect >= 4.8.0}
-BuildRequires: %{python_module pytest >= 5.4.3}
-BuildRequires: %{python_module python-dateutil >= 2.8.1}
-BuildRequires: %{python_module sortedcontainers >= 2.2.2}
+BuildRequires: %{python_module pandas >= 0.19}
+BuildRequires: %{python_module pexpect}
+BuildRequires: %{python_module pytest >= 4.3}
+BuildRequires: %{python_module pytest-xdist}
+BuildRequires: %{python_module python-dateutil >= 1.4}
+BuildRequires: %{python_module sortedcontainers >= 2.1.0}
BuildRequires: %{python_module typing_extensions}
%endif
# /SECTION
@@ -82,38 +93,36 @@ PyPy3 until they support a 3.3 compatible version of the language). It does *not
work on Jython or on Python 3.0 through 3.2.
%prep
-%setup -q -n hypothesis-hypothesis-python-%{version}/hypothesis-python
-%autopatch -p1
-
-# the django fails to initialize
-rm -r tests/django
-# do not pull in pandas as a dep in ring1; it slows down things too much
-rm -r tests/pandas
+%setup -q -n %{_sourcedir}/hypothesis-python-%{version} -T -D
+# 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
%build
+%if !%{with test}
%python_build
+%endif
%install
%if !%{with test}
%python_install
-%{python_expand \
-$python -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/hypothesis/
-$python -O -m compileall -d %{$python_sitelib} %{buildroot}%{$python_sitelib}/hypothesis/
-%fdupes %{buildroot}%{$python_sitelib}
-}
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
%check
%if %{with test}
-# test_prints_statistics_given_option_under_xdist - wrong xdist opts
-%pytest tests -k "not test_prints_statistics_given_option_under_xdist"
+# theses tests try to write into global python_sitelib
+# https://github.com/HypothesisWorks/hypothesis/issues/2546
+skiptests="test_updating_the_file_include_new_shrinkers"
+skiptests+=" or test_can_learn_to_normalize_the_unnormalized"
+%pytest tests -n auto -p pytester --runpytest=subprocess -k "not ($skiptests)"
%endif
%if !%{with test}
%files %{python_files}
-%license ../LICENSE.txt
-%doc ../CITATION README.rst docs/changes.rst
-%{python_sitelib}/hypothesis*
+%license LICENSE.txt
+%doc README.rst
+%{python_sitelib}/hypothesis
+%{python_sitelib}/hypothesis-%{version}-py*.egg-info
%endif
%changelog