mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 18:58:08 -07:00
dev-python/testfixtures: enable py3.10
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
This commit is contained in:
172
dev-python/testfixtures/files/testfixtures-6.18.1-py3.10.patch
Normal file
172
dev-python/testfixtures/files/testfixtures-6.18.1-py3.10.patch
Normal file
@@ -0,0 +1,172 @@
|
||||
From 8fb2122eea0f1d0de1ccca7a3a0f5426bc6d4964 Mon Sep 17 00:00:00 2001
|
||||
From: Louis Sautier <sautier.louis@gmail.com>
|
||||
Date: Sat, 21 Aug 2021 03:00:51 +0200
|
||||
Subject: [PATCH] tests: fix with Python 3.10 (changed exception messages)
|
||||
|
||||
---
|
||||
testfixtures/compat.py | 1 +
|
||||
testfixtures/tests/test_popen.py | 41 ++++++++++++++++++------------
|
||||
testfixtures/tests/test_replace.py | 24 ++++++++++-------
|
||||
3 files changed, 41 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/testfixtures/compat.py b/testfixtures/compat.py
|
||||
index 1042d27..ca00f32 100644
|
||||
--- a/testfixtures/compat.py
|
||||
+++ b/testfixtures/compat.py
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
PY_36_PLUS = PY_VERSION >= (3, 6)
|
||||
PY_37_PLUS = PY_VERSION >= (3, 7)
|
||||
+PY_310_PLUS = PY_VERSION >= (3, 10)
|
||||
|
||||
|
||||
if PY_VERSION > (3, 0):
|
||||
diff --git a/testfixtures/tests/test_popen.py b/testfixtures/tests/test_popen.py
|
||||
index aa211da..4ec3186 100644
|
||||
--- a/testfixtures/tests/test_popen.py
|
||||
+++ b/testfixtures/tests/test_popen.py
|
||||
@@ -6,7 +6,7 @@
|
||||
from testfixtures import ShouldRaise, compare, Replacer
|
||||
|
||||
from testfixtures.popen import MockPopen, PopenBehaviour
|
||||
-from testfixtures.compat import BytesLiteral, PY2
|
||||
+from testfixtures.compat import BytesLiteral, PY2, PY_310_PLUS
|
||||
|
||||
import signal
|
||||
|
||||
@@ -471,10 +471,11 @@ def test_default_command_max_args(self):
|
||||
], Popen.mock.method_calls)
|
||||
|
||||
def test_invalid_parameters(self):
|
||||
+ message = "__init__() got an unexpected keyword argument 'foo'"
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "MockPopenInstance." + message
|
||||
Popen = MockPopen()
|
||||
- with ShouldRaise(TypeError(
|
||||
- "__init__() got an unexpected keyword argument 'foo'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
Popen(foo='bar')
|
||||
|
||||
def test_invalid_method_or_attr(self):
|
||||
@@ -492,39 +493,43 @@ def test_invalid_attribute(self):
|
||||
process.foo
|
||||
|
||||
def test_invalid_communicate_call(self):
|
||||
+ message = "communicate() got an unexpected keyword argument 'foo'"
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "MockPopenInstance." + message
|
||||
Popen = MockPopen()
|
||||
Popen.set_command('bar')
|
||||
process = Popen('bar')
|
||||
- with ShouldRaise(TypeError(
|
||||
- "communicate() got an unexpected keyword argument 'foo'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
process.communicate(foo='bar')
|
||||
|
||||
def test_invalid_wait_call(self):
|
||||
+ message = "wait() got an unexpected keyword argument 'foo'"
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "MockPopenInstance." + message
|
||||
Popen = MockPopen()
|
||||
Popen.set_command('bar')
|
||||
process = Popen('bar')
|
||||
- with ShouldRaise(TypeError(
|
||||
- "wait() got an unexpected keyword argument 'foo'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
process.wait(foo='bar')
|
||||
|
||||
def test_invalid_send_signal(self):
|
||||
+ message = "send_signal() got an unexpected keyword argument 'foo'"
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "MockPopenInstance." + message
|
||||
Popen = MockPopen()
|
||||
Popen.set_command('bar')
|
||||
process = Popen('bar')
|
||||
- with ShouldRaise(TypeError(
|
||||
- "send_signal() got an unexpected keyword argument 'foo'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
process.send_signal(foo='bar')
|
||||
|
||||
def test_invalid_terminate(self):
|
||||
+ message = "terminate() got an unexpected keyword argument 'foo'"
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "MockPopenInstance." + message
|
||||
Popen = MockPopen()
|
||||
Popen.set_command('bar')
|
||||
process = Popen('bar')
|
||||
- with ShouldRaise(TypeError(
|
||||
- "terminate() got an unexpected keyword argument 'foo'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
process.terminate(foo='bar')
|
||||
|
||||
def test_invalid_kill(self):
|
||||
@@ -535,6 +540,8 @@ def test_invalid_kill(self):
|
||||
text = 'kill() takes exactly 1 argument (2 given)'
|
||||
else:
|
||||
text = 'kill() takes 1 positional argument but 2 were given'
|
||||
+ if PY_310_PLUS:
|
||||
+ text = "MockPopenInstance." + text
|
||||
with ShouldRaise(TypeError(text)):
|
||||
process.kill('moo')
|
||||
|
||||
@@ -546,6 +553,8 @@ def test_invalid_poll(self):
|
||||
text = 'poll() takes exactly 1 argument (2 given)'
|
||||
else:
|
||||
text = 'poll() takes 1 positional argument but 2 were given'
|
||||
+ if PY_310_PLUS:
|
||||
+ text = "MockPopenInstance." + text
|
||||
with ShouldRaise(TypeError(text)):
|
||||
process.poll('moo')
|
||||
|
||||
diff --git a/testfixtures/tests/test_replace.py b/testfixtures/tests/test_replace.py
|
||||
index 5a77e23..d3544a8 100644
|
||||
--- a/testfixtures/tests/test_replace.py
|
||||
+++ b/testfixtures/tests/test_replace.py
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
from testfixtures.tests import sample1
|
||||
from testfixtures.tests import sample2
|
||||
-from ..compat import PY3
|
||||
+from ..compat import PY3, PY_310_PLUS
|
||||
|
||||
from warnings import catch_warnings
|
||||
|
||||
@@ -259,19 +259,25 @@ def test_something(obj):
|
||||
self.failIf(hasattr(sample1, 'foo'))
|
||||
|
||||
def test_replace_delattr_cant_remove(self):
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "cannot set 'today' attribute of " \
|
||||
+ "immutable type 'datetime.datetime'"
|
||||
+ else:
|
||||
+ message = "can't set attributes of " \
|
||||
+ "built-in/extension type 'datetime.datetime'"
|
||||
with Replacer() as r:
|
||||
- with ShouldRaise(TypeError(
|
||||
- "can't set attributes of "
|
||||
- "built-in/extension type 'datetime.datetime'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
r.replace('datetime.datetime.today', not_there)
|
||||
|
||||
def test_replace_delattr_cant_remove_not_strict(self):
|
||||
+ if PY_310_PLUS:
|
||||
+ message = "cannot set 'today' attribute of " \
|
||||
+ "immutable type 'datetime.datetime'"
|
||||
+ else:
|
||||
+ message = "can't set attributes of " \
|
||||
+ "built-in/extension type 'datetime.datetime'"
|
||||
with Replacer() as r:
|
||||
- with ShouldRaise(TypeError(
|
||||
- "can't set attributes of "
|
||||
- "built-in/extension type 'datetime.datetime'"
|
||||
- )):
|
||||
+ with ShouldRaise(TypeError(message)):
|
||||
r.replace('datetime.datetime.today', not_there, strict=False)
|
||||
|
||||
def test_replace_dict_remove_key(self):
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..9} )
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
|
||||
@@ -27,6 +27,11 @@ BDEPEND="
|
||||
distutils_enable_sphinx docs
|
||||
distutils_enable_tests pytest
|
||||
|
||||
PATCHES=(
|
||||
# https://github.com/Simplistix/testfixtures/commit/8fb2122eea0f1d0de1ccca7a3a0f5426bc6d4964
|
||||
"${FILESDIR}/${P}-py3.10.patch"
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
# kill weird way of declaring build deps
|
||||
sed -e '/build=/d' -i setup.py || die
|
||||
|
||||
Reference in New Issue
Block a user