From 0a65aa74175d9ac6570321fe11725dc30c574e08 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 3 Aug 2022 13:55:12 +0100 Subject: gentoo auto-resync : 03:08:2022 - 13:55:12 --- dev-python/fixtures/Manifest | 6 +- .../fixtures/files/fixtures-4.0.0-py311.patch | 116 +++++++++++++++++++++ .../fixtures/files/fixtures-4.0.0-pypy39.patch | 56 ++++++++++ dev-python/fixtures/fixtures-4.0.0.ebuild | 37 +++++++ dev-python/fixtures/fixtures-4.0.1.ebuild | 2 +- 5 files changed, 215 insertions(+), 2 deletions(-) create mode 100644 dev-python/fixtures/files/fixtures-4.0.0-py311.patch create mode 100644 dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch create mode 100644 dev-python/fixtures/fixtures-4.0.0.ebuild (limited to 'dev-python/fixtures') diff --git a/dev-python/fixtures/Manifest b/dev-python/fixtures/Manifest index b9d78b79f5b7..bf0128479b1d 100644 --- a/dev-python/fixtures/Manifest +++ b/dev-python/fixtures/Manifest @@ -1,3 +1,7 @@ +AUX fixtures-4.0.0-py311.patch 5084 BLAKE2B 6cf7ec50b13ed6a76dcfd4f6b4a3c5dfc0062bcc3895811e1c26d156d15045c307f4e3050c086c0bb71b772f16dcd4f135126a6a853d622a5bc24f0c67aa11dc SHA512 99b7e5e3c26f58ce07b308cf4a53e2f90294b3a2fb2748276e882d28fcf4cb6ea5b0406beb6d3a920e775bb982cd6708b2852429b4e7676b9d0e9bd4849c516a +AUX fixtures-4.0.0-pypy39.patch 2158 BLAKE2B a46f4983224a28c9ec5c8cf40565fb9fb744b00435f68e632a0f95b447eed8fce2776e8f1639fa8b50d92eec3fc5a0550eaf30eaf99f082fbaf49def1475df40 SHA512 d94427b5c8d44295311849d9c93271edf829393a30ab98030e0e0270b6fcbc10467e000f50ba8dd863845e12fb1958405ea1bcc6d0ecdaa56f7ca0e628eb5013 +DIST fixtures-4.0.0.tar.gz 56786 BLAKE2B 7fa8916d3e384a47c967b51ffeebb81c50c4be7432601aa94f220b6ae32ed189f16750cb126c2925995c2e945684c48041014a97902145343527e8856125b61a SHA512 dcd67c3df9efc16f2a21b6d2917a5b7e45ecc09d1ddbd1de98a5b4b717ea7da0fc82e1054f494255b419a792e841145110c77a1772444f4019fc02e9917c5b80 DIST fixtures-4.0.1.tar.gz 56752 BLAKE2B bddda3976ec453129fa05e53da066344ed8f4db9626ec21dd0159e6720993da0c17e3b51ba37de2ef05cd7649809d674cc6409b16c8e1d242dc424d573010975 SHA512 722436f146768e4db1e3312a0db1edab2a7daa86107825fb2436654eaf74e00f569357531316df506ef3f80cef89ac7185aee1adf0b00a6ee85cbc9811ca8100 -EBUILD fixtures-4.0.1.ebuild 770 BLAKE2B f33e64792577e83e36cc92ba30894b9ee418b2318a2c4304d29c006136c8180aab2327908adf8998af55f96e163b4a7277dab9f863ac86062b773daf9e2a5df8 SHA512 c891024ddc95e84f26f80fcb65869139215c361e994afb3405e089cd8d641427743ec238306d32ba1f471cdc4b0535fc40ad535109dad241b5d64f00ecab9b55 +EBUILD fixtures-4.0.0.ebuild 848 BLAKE2B 5937eee87567b573377df40ab2a7e6cda7f68b481a67a9b93153fdd4fb248b74882d37b2c6ee016d0e98c4c70711da49904c4eb98218d562c45c964c08a95083 SHA512 901a2eccb8ee1bd1f9fdbf449a1a9745ebe1efc88252591d2db8c8a523f1f3e1bd96e89a6789b0cdadc41bdae8434a8581a68d94d5a22129f29c35e875fed406 +EBUILD fixtures-4.0.1.ebuild 778 BLAKE2B a4e4f6898e00e9b17b2ae12788a97f686be28acf4d638bc575de58f643f975f3304b8013674b690b29b7ec98b5245eb83d1e7330cb51443de6c34360fdb3d07e SHA512 5134dccf7b4ec0855b25ae10a2662ab53416447cf5977ea67af44836e33970aa9771c19e0004c3055fb452acb74f2f8195692521fc383cd9ed834c602215f8f5 MISC metadata.xml 914 BLAKE2B 402ef182133763f0b36e4653622cd9ef0bfa1871b05518aaf01701f1c57665ce358d002dc6e638ebd224225069a5b57877ff393567db7607dd0496a872edb2e5 SHA512 368e2a3587fa361618e5208f4c34a15a223bcdc2597dcbd25f5ba8ca74e67a0de4abb1f690f853ca8059df22eee61bf259e974aa92b1e8050435099d81a7a0db diff --git a/dev-python/fixtures/files/fixtures-4.0.0-py311.patch b/dev-python/fixtures/files/fixtures-4.0.0-py311.patch new file mode 100644 index 000000000000..6cda1104afca --- /dev/null +++ b/dev-python/fixtures/files/fixtures-4.0.0-py311.patch @@ -0,0 +1,116 @@ +From 54ef596952d459d605fcb40f13bed6d07ef93f4c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 21 May 2022 12:15:21 +0200 +Subject: [PATCH 1/2] Update classmethod expectations (again) for Python 3.11 + +It seems that the classmethod behavior in Python 3.11.0b1 is back +to the one found in Python 3.8. Adjust the test expectations again. +This time around, we expect the "old-new" behavior in CPython 3.9 +and 3.10 only. +--- + fixtures/tests/_fixtures/test_monkeypatch.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/fixtures/tests/_fixtures/test_monkeypatch.py b/fixtures/tests/_fixtures/test_monkeypatch.py +index 08cd1c8..fa08b24 100644 +--- a/fixtures/tests/_fixtures/test_monkeypatch.py ++++ b/fixtures/tests/_fixtures/test_monkeypatch.py +@@ -24,7 +24,8 @@ from fixtures import MonkeyPatch, TestWithFixtures + reference = 23 + + NEW_PY39_CLASSMETHOD = ( +- sys.version_info >= (3, 9) and not hasattr(sys, "pypy_version_info")) ++ sys.version_info[:2] in ((3, 9), (3,10)) ++ and not hasattr(sys, "pypy_version_info")) + + class C(object): + def foo(self, arg): +-- +2.35.1 + +From 48d8626168a374c099fa891d7e734548e1e03683 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sat, 21 May 2022 12:25:49 +0200 +Subject: [PATCH 2/2] Support Popen's process_group argument from Python 3.11 + +--- + fixtures/_fixtures/popen.py | 9 +++++++-- + fixtures/tests/_fixtures/test_popen.py | 14 ++++++++++++++ + 2 files changed, 21 insertions(+), 2 deletions(-) + +diff --git a/fixtures/_fixtures/popen.py b/fixtures/_fixtures/popen.py +index ffa9bf4..a099854 100644 +--- a/fixtures/_fixtures/popen.py ++++ b/fixtures/_fixtures/popen.py +@@ -131,7 +131,8 @@ class FakePopen(Fixture): + restore_signals=_unpassed, start_new_session=_unpassed, + pass_fds=_unpassed, *, group=_unpassed, extra_groups=_unpassed, + user=_unpassed, umask=_unpassed, encoding=_unpassed, +- errors=_unpassed, text=_unpassed, pipesize=_unpassed): ++ errors=_unpassed, text=_unpassed, pipesize=_unpassed, ++ process_group=_unpassed): + # Reject arguments introduced by newer versions of Python in older + # versions; this makes it harder to accidentally hide compatibility + # problems using test doubles. +@@ -149,6 +150,10 @@ class FakePopen(Fixture): + raise TypeError( + "FakePopen.__call__() got an unexpected keyword argument " + "'pipesize'") ++ if sys.version_info < (3, 11) and process_group is not FakePopen._unpassed: ++ raise TypeError( ++ "FakePopen.__call__() got an unexpected keyword argument " ++ "'process_group'") + + proc_args = dict(args=args) + local = locals() +@@ -158,7 +163,7 @@ class FakePopen(Fixture): + "universal_newlines", "startupinfo", "creationflags", + "restore_signals", "start_new_session", "pass_fds", "group", + "extra_groups", "user", "umask", "encoding", "errors", "text", +- "pipesize"]: ++ "pipesize", "process_group"]: + if local[param] is not FakePopen._unpassed: + proc_args[param] = local[param] + proc_info = self.get_info(proc_args) +diff --git a/fixtures/tests/_fixtures/test_popen.py b/fixtures/tests/_fixtures/test_popen.py +index c7bf1bd..e9ab074 100644 +--- a/fixtures/tests/_fixtures/test_popen.py ++++ b/fixtures/tests/_fixtures/test_popen.py +@@ -74,6 +74,8 @@ class TestFakePopen(testtools.TestCase, TestWithFixtures): + all_args["umask"] = "umask" + if sys.version_info >= (3, 10): + all_args["pipesize"] = "pipesize" ++ if sys.version_info >= (3, 11): ++ all_args["process_group"] = "process_group" + + def get_info(proc_args): + self.assertEqual(all_args, proc_args) +@@ -110,6 +112,15 @@ class TestFakePopen(testtools.TestCase, TestWithFixtures): + r".* got an unexpected keyword argument 'pipesize'"): + fixture(args="args", pipesize=1024) + ++ @testtools.skipUnless( ++ sys.version_info < (3, 11), "only relevant on Python <3.11") ++ def test_rejects_3_11_args_on_older_versions(self): ++ fixture = self.useFixture(FakePopen(lambda proc_args: {})) ++ with testtools.ExpectedException( ++ TypeError, ++ r".* got an unexpected keyword argument 'process_group'"): ++ fixture(args="args", process_group=42) ++ + def test_function_signature(self): + fake_signature = inspect.getfullargspec(FakePopen.__call__) + real_signature = inspect.getfullargspec(subprocess.Popen) +@@ -130,6 +141,9 @@ class TestFakePopen(testtools.TestCase, TestWithFixtures): + fake_kwargs = set(fake_signature.kwonlyargs) + real_kwargs = set(real_signature.kwonlyargs) + ++ if sys.version_info < (3, 11): ++ fake_kwargs.remove('process_group') ++ + if sys.version_info < (3, 10): + fake_kwargs.remove('pipesize') + +-- +2.35.1 + diff --git a/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch new file mode 100644 index 000000000000..dfe7bade82fa --- /dev/null +++ b/dev-python/fixtures/files/fixtures-4.0.0-pypy39.patch @@ -0,0 +1,56 @@ +From 2adba3989fc3d1723eb6534ae0bc1aeaf1513cfa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Thu, 28 Apr 2022 12:14:55 +0200 +Subject: [PATCH] Revert to the previous classmethod expectations for PyPy3.9 + +Commit fe83067 has changed TestMonkeyPatch to account for changes +in classmethod handling in CPython 3.9. Unfortunately, this broke +the tests on PyPy3.9. Revert to the old expectations when using PyPy. + +Fixes #64 +--- + fixtures/tests/_fixtures/test_monkeypatch.py | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/fixtures/tests/_fixtures/test_monkeypatch.py b/fixtures/tests/_fixtures/test_monkeypatch.py +index 746f6dd..08cd1c8 100644 +--- a/fixtures/tests/_fixtures/test_monkeypatch.py ++++ b/fixtures/tests/_fixtures/test_monkeypatch.py +@@ -23,6 +23,9 @@ from fixtures import MonkeyPatch, TestWithFixtures + + reference = 23 + ++NEW_PY39_CLASSMETHOD = ( ++ sys.version_info >= (3, 9) and not hasattr(sys, "pypy_version_info")) ++ + class C(object): + def foo(self, arg): + return arg +@@ -196,7 +199,7 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures): + # with the class + # + # https://bugs.python.org/issue19072 +- if sys.version_info >= (3, 9): ++ if NEW_PY39_CLASSMETHOD: + cls, = C.foo_cls() + self.expectThat(cls, Is(D)) + cls, = C().foo_cls() +@@ -238,13 +241,13 @@ class TestMonkeyPatch(testtools.TestCase, TestWithFixtures): + self.expectThat(slf, Is(d)) + # See note in test_patch_classmethod_with_classmethod on changes in + # Python 3.9 +- if sys.version_info >= (3, 9): ++ if NEW_PY39_CLASSMETHOD: + self.expectThat(cls, Is(None)) + else: + self.expectThat(cls, Is(C)) + slf, cls = C().foo_cls() + self.expectThat(slf, Is(d)) +- if sys.version_info >= (3, 9): ++ if NEW_PY39_CLASSMETHOD: + self.expectThat(cls, Is(None)) + else: + self.expectThat(cls, Is(C)) +-- +2.35.1 + diff --git a/dev-python/fixtures/fixtures-4.0.0.ebuild b/dev-python/fixtures/fixtures-4.0.0.ebuild new file mode 100644 index 000000000000..75916b42f6b4 --- /dev/null +++ b/dev-python/fixtures/fixtures-4.0.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=pbr +PYTHON_COMPAT=( python3_{8..11} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Fixtures, reusable state for writing clean tests and more" +HOMEPAGE=" + https://github.com/testing-cabal/fixtures/ + https://pypi.org/project/fixtures/ +" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 BSD )" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" + +RDEPEND=" + >=dev-python/pbr-5.7.0[${PYTHON_USEDEP}] + >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/mock[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests unittest + +PATCHES=( + "${FILESDIR}"/${P}-pypy39.patch + "${FILESDIR}"/${P}-py311.patch +) diff --git a/dev-python/fixtures/fixtures-4.0.1.ebuild b/dev-python/fixtures/fixtures-4.0.1.ebuild index 9b3bfd2269d4..5bd679ac1415 100644 --- a/dev-python/fixtures/fixtures-4.0.1.ebuild +++ b/dev-python/fixtures/fixtures-4.0.1.ebuild @@ -17,7 +17,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" LICENSE="|| ( Apache-2.0 BSD )" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" RDEPEND=" >=dev-python/pbr-5.7.0[${PYTHON_USEDEP}] -- cgit v1.2.3