mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/fixtures: Remove old
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
Reference in New Issue
Block a user