From c6fc37b7e915a0cb23af21de000bcedfa425ddf2120cf85db04ed5303efb82bf Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 5 May 2023 00:07:02 +0000 Subject: [PATCH] =?UTF-8?q?-=20update=20to=203.12.0:=20=20=20*=20Support?= =?UTF-8?q?=20Python=203.11.=20=20=20*=20Drop=20Python=203.6=20support.=20?= =?UTF-8?q?=20=20*=20Work=20on=20FIPS=20Python=203.9+,=20by=20declaring=20?= =?UTF-8?q?use=20of=20=20=20=20=20``hashlib.md5()``=20as=20not=20used=20fo?= =?UTF-8?q?r=20security.=20=20=20*=20Fix=20crash=20when=20pytest=E2=80=99s?= =?UTF-8?q?=20cacheprovider=20is=20disabled.=20=20=20*=20Improve=20group?= =?UTF-8?q?=20name=20in=20``pytest=20--help``.=20=20=20*=20Fix=20new=20shu?= =?UTF-8?q?ffling=20to=20work=20when=20one=20or=20more=20test=20in=20a=20c?= =?UTF-8?q?lass=20or=20=20=20=20=20module=20have=20the=20same=20test=20id.?= =?UTF-8?q?=20=20=20*=20Rework=20shuffling=20algorithm=20to=20use=20hashin?= =?UTF-8?q?g.=20This=20means=20that=20=20=20=20=20running=20a=20subset=20o?= =?UTF-8?q?f=20tests=20with=20the=20same=20seed=20will=20now=20produce=20?= =?UTF-8?q?=20=20=20=20the=20same=20ordering=20as=20running=20the=20full?= =?UTF-8?q?=20set=20of=20tests.=20=20=20=20=20This=20allows=20narrowing=20?= =?UTF-8?q?down=20ordering-related=20failures.=20=20=20*=20Add=20type=20hi?= =?UTF-8?q?nts.=20=20=20*=20Support=20Python=203.10.=20-=20add=20fix-tests?= =?UTF-8?q?-pytest-73.patch=20to=20support=20pytest=207.3.x?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:pytest/python-pytest-randomly?expand=0&rev=26 --- fix-tests-pytest-73.patch | 91 ++++++++++++++++++++++++++++++++++ pytest-randomly-3.12.0.tar.gz | 3 ++ pytest-randomly-3.7.0.tar.gz | 3 -- python-pytest-randomly.changes | 20 ++++++++ python-pytest-randomly.spec | 21 ++++---- 5 files changed, 123 insertions(+), 15 deletions(-) create mode 100644 fix-tests-pytest-73.patch create mode 100644 pytest-randomly-3.12.0.tar.gz delete mode 100644 pytest-randomly-3.7.0.tar.gz diff --git a/fix-tests-pytest-73.patch b/fix-tests-pytest-73.patch new file mode 100644 index 0000000..a384bdd --- /dev/null +++ b/fix-tests-pytest-73.patch @@ -0,0 +1,91 @@ +From d663e203db254f7e310e4de0e4622e5596860698 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Wed, 12 Apr 2023 09:21:26 +0200 +Subject: [PATCH] Make the tests work with pytest 7.3.0 (#540) + +Co-authored-by: Adam Johnson +--- + requirements/py310.txt | 10 +++------- + requirements/py311.txt | 10 +++------- + requirements/py37.txt | 10 +++------- + requirements/py38.txt | 10 +++------- + requirements/py39.txt | 10 +++------- + tests/test_pytest_randomly.py | 16 ++++++++-------- + 6 files changed, 23 insertions(+), 43 deletions(-) + +Index: pytest-randomly-3.12.0/tests/test_pytest_randomly.py +=================================================================== +--- pytest-randomly-3.12.0.orig/tests/test_pytest_randomly.py ++++ pytest-randomly-3.12.0/tests/test_pytest_randomly.py +@@ -253,7 +253,7 @@ def test_files_reordered(ourtestdir): + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_b.py::test_it PASSED", + "test_a.py::test_it PASSED", + "test_d.py::test_it PASSED", +@@ -273,7 +273,7 @@ def test_files_reordered_when_seed_not_r + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_b.py::test_it PASSED", + "test_a.py::test_it PASSED", + "test_d.py::test_it PASSED", +@@ -312,7 +312,7 @@ def test_classes_reordered(ourtestdir): + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_one.py::D::test_d PASSED", + "test_one.py::B::test_b PASSED", + "test_one.py::C::test_c PASSED", +@@ -344,7 +344,7 @@ def test_class_test_methods_reordered(ou + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_one.py::T::test_c PASSED", + "test_one.py::T::test_b PASSED", + "test_one.py::T::test_a PASSED", +@@ -373,7 +373,7 @@ def test_test_functions_reordered(ourtes + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_one.py::test_c PASSED", + "test_one.py::test_a PASSED", + "test_one.py::test_b PASSED", +@@ -407,7 +407,7 @@ def test_test_functions_reordered_when_r + out = ourtestdir.runpytest(*args) + + out.assert_outcomes(passed=4, failed=0) +- assert out.outlines[8:12] == [ ++ assert out.outlines[9:13] == [ + "test_one.py::test_c PASSED", + "test_one.py::test_a PASSED", + "test_one.py::test_b PASSED", +@@ -437,7 +437,7 @@ def test_doctests_reordered(ourtestdir): + + out = ourtestdir.runpytest(*args) + out.assert_outcomes(passed=2) +- assert out.outlines[8:10] == [ ++ assert out.outlines[9:11] == [ + "test_one.py::test_one.bar PASSED", + "test_one.py::test_one.foo PASSED", + ] +@@ -518,7 +518,7 @@ def test_doctests_in_txt_files_reordered + + out = ourtestdir.runpytest(*args) + out.assert_outcomes(passed=2) +- assert out.outlines[8:10] == [ ++ assert out.outlines[9:11] == [ + "test2.txt::test2.txt PASSED", + "test.txt::test.txt PASSED", + ] diff --git a/pytest-randomly-3.12.0.tar.gz b/pytest-randomly-3.12.0.tar.gz new file mode 100644 index 0000000..3214def --- /dev/null +++ b/pytest-randomly-3.12.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81348ae448f00df8f3b2768b90ff1bfe4b77a1ee20419a7621ae7c0826758617 +size 30426 diff --git a/pytest-randomly-3.7.0.tar.gz b/pytest-randomly-3.7.0.tar.gz deleted file mode 100644 index bedf708..0000000 --- a/pytest-randomly-3.7.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:475cfbbfe6bbdc06f629f72b2d4a4f1ac6e9761f839be0fa1f50fde397434ebe -size 26200 diff --git a/python-pytest-randomly.changes b/python-pytest-randomly.changes index 9095f1b..998fd6b 100644 --- a/python-pytest-randomly.changes +++ b/python-pytest-randomly.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Thu May 4 22:57:32 UTC 2023 - Dirk Müller + +- update to 3.12.0: + * Support Python 3.11. + * Drop Python 3.6 support. + * Work on FIPS Python 3.9+, by declaring use of + ``hashlib.md5()`` as not used for security. + * Fix crash when pytest’s cacheprovider is disabled. + * Improve group name in ``pytest --help``. + * Fix new shuffling to work when one or more test in a class or + module have the same test id. + * Rework shuffling algorithm to use hashing. This means that + running a subset of tests with the same seed will now produce + the same ordering as running the full set of tests. + This allows narrowing down ordering-related failures. + * Add type hints. + * Support Python 3.10. +- add fix-tests-pytest-73.patch to support pytest 7.3.x + ------------------------------------------------------------------- Fri Apr 21 12:31:53 UTC 2023 - Dirk Müller diff --git a/python-pytest-randomly.spec b/python-pytest-randomly.spec index 6f6e08a..4a4e029 100644 --- a/python-pytest-randomly.spec +++ b/python-pytest-randomly.spec @@ -1,7 +1,7 @@ # # spec file for package python-pytest-randomly # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,25 +16,26 @@ # -%{?!python_module:%define python_module() python3-%{**}} %{?sle15_python_module_pythons} Name: python-pytest-randomly -Version: 3.7.0 +Version: 3.12.0 Release: 0 Summary: Pytest plugin to randomly order tests and control random.seed License: MIT URL: https://github.com/pytest-dev/pytest-randomly Source: https://github.com/pytest-dev/pytest-randomly/archive/%{version}.tar.gz#/pytest-randomly-%{version}.tar.gz +# PATCH-FIX-UPSTREAM: https://github.com/pytest-dev/pytest-randomly/commit/d663e203db254f7e310e4de0e4622e5596860698.patch +Patch1: fix-tests-pytest-73.patch BuildRequires: %{python_module setuptools} BuildRequires: fdupes BuildRequires: python-rpm-macros Requires: python-importlib-metadata >= 3.6.0 Requires: python-pytest -Recommends: python-Faker >= 4.1.0 +Recommends: python-Faker >= 13.11.0 Suggests: python-numpy BuildArch: noarch # SECTION test requirements -BuildRequires: %{python_module Faker >= 4.1.0} +BuildRequires: %{python_module Faker >= 13.11.0} BuildRequires: %{python_module factory_boy} BuildRequires: %{python_module importlib-metadata >= 3.6.0} BuildRequires: %{python_module pytest-xdist} @@ -64,7 +65,7 @@ Features: every test. %prep -%setup -q -n pytest-randomly-%{version} +%autosetup -p1 -n pytest-randomly-%{version} %build %python_build @@ -75,16 +76,12 @@ Features: %check # test_entrypoint_injection needs installed module for pytest to use -donttest="test_entrypoint_injection" -# no python36-numpy -python36_donttest="or test_numpy" -%pytest -k "not ($donttest ${$python_donttest})" +%pytest -k "not (test_entrypoint_injection or test_it_runs_before_stepwise)" %files %{python_files} %doc README.rst %license LICENSE -%{python_sitelib}/pytest_randomly.py* -%pycache_only %{python_sitelib}/__pycache__/pytest_randomly*.pyc +%{python_sitelib}/pytest_randomly %{python_sitelib}/pytest_randomly-%{version}*-info %changelog