dev-python/fixtures: Remove old

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2022-08-02 21:00:14 +02:00
parent 1c861cb788
commit 0b93bfeb03
4 changed files with 0 additions and 210 deletions

View File

@@ -1,2 +1 @@
DIST fixtures-4.0.0.tar.gz 56786 BLAKE2B 7fa8916d3e384a47c967b51ffeebb81c50c4be7432601aa94f220b6ae32ed189f16750cb126c2925995c2e945684c48041014a97902145343527e8856125b61a SHA512 dcd67c3df9efc16f2a21b6d2917a5b7e45ecc09d1ddbd1de98a5b4b717ea7da0fc82e1054f494255b419a792e841145110c77a1772444f4019fc02e9917c5b80
DIST fixtures-4.0.1.tar.gz 56752 BLAKE2B bddda3976ec453129fa05e53da066344ed8f4db9626ec21dd0159e6720993da0c17e3b51ba37de2ef05cd7649809d674cc6409b16c8e1d242dc424d573010975 SHA512 722436f146768e4db1e3312a0db1edab2a7daa86107825fb2436654eaf74e00f569357531316df506ef3f80cef89ac7185aee1adf0b00a6ee85cbc9811ca8100

View File

@@ -1,116 +0,0 @@
From 54ef596952d459d605fcb40f13bed6d07ef93f4c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
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?= <mgorny@gentoo.org>
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

View File

@@ -1,56 +0,0 @@
From 2adba3989fc3d1723eb6534ae0bc1aeaf1513cfa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
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

View File

@@ -1,37 +0,0 @@
# 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
)