Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/mock/, dev-python/mock/files/
Date: Wed, 05 May 2021 17:06:02
Message-Id: 1620234340.0204f5b41216a0403e1b7d75704f8a3d49cb6d9f.mgorny@gentoo
1 commit: 0204f5b41216a0403e1b7d75704f8a3d49cb6d9f
2 Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
3 AuthorDate: Wed May 5 14:21:51 2021 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed May 5 17:05:40 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0204f5b4
7
8 dev-python/mock: Enable python3.10
9
10 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
11
12 dev-python/mock/files/mock-4.0.3-py310.patch | 76 ++++++++++++++++++++++++++++
13 dev-python/mock/mock-4.0.3.ebuild | 15 +++---
14 2 files changed, 82 insertions(+), 9 deletions(-)
15
16 diff --git a/dev-python/mock/files/mock-4.0.3-py310.patch b/dev-python/mock/files/mock-4.0.3-py310.patch
17 new file mode 100644
18 index 00000000000..4a096f35126
19 --- /dev/null
20 +++ b/dev-python/mock/files/mock-4.0.3-py310.patch
21 @@ -0,0 +1,76 @@
22 +From f3e3d82aab0ede7e25273806dc0505574d85eae2 Mon Sep 17 00:00:00 2001
23 +From: Chris Withers <chris@×××××××××××××.uk>
24 +Date: Thu, 15 Apr 2021 08:27:25 +0100
25 +Subject: [PATCH] fix tests that should test mock but were testing
26 + unittest.mock
27 +
28 +---
29 + mock/tests/testmock.py | 15 ++++++++-------
30 + 1 file changed, 8 insertions(+), 7 deletions(-)
31 +
32 +diff --git a/mock/tests/testmock.py b/mock/tests/testmock.py
33 +index 5702b6d..1a70909 100644
34 +--- a/mock/tests/testmock.py
35 ++++ b/mock/tests/testmock.py
36 +@@ -13,6 +13,7 @@ from mock import (
37 + create_autospec, mock
38 + )
39 + from mock.mock import _Call, _CallList
40 ++import mock.mock as mock_module
41 +
42 +
43 + class Iter(object):
44 +@@ -47,7 +48,7 @@ class MockTest(unittest.TestCase):
45 + # if __all__ is badly defined then import * will raise an error
46 + # We have to exec it because you can't import * inside a method
47 + # in Python 3
48 +- exec("from unittest.mock import *")
49 ++ exec("from mock.mock import *")
50 +
51 +
52 + def test_constructor(self):
53 +@@ -2137,16 +2138,16 @@ class MockTest(unittest.TestCase):
54 + # test_patch_dict_test_prefix and test_patch_test_prefix not restoring
55 + # causes the objects patched to go out of sync
56 +
57 +- old_patch = unittest.mock.patch
58 ++ old_patch = mock_module.patch
59 +
60 + # Directly using __setattr__ on unittest.mock causes current imported
61 + # reference to be updated. Use a lambda so that during cleanup the
62 + # re-imported new reference is updated.
63 +- self.addCleanup(lambda patch: setattr(unittest.mock, 'patch', patch),
64 ++ self.addCleanup(lambda patch: setattr(mock_module, 'patch', patch),
65 + old_patch)
66 +
67 + with patch.dict('sys.modules'):
68 +- del sys.modules['unittest.mock']
69 ++ del sys.modules['mock']
70 +
71 + # This trace will stop coverage being measured ;-)
72 + def trace(frame, event, arg): # pragma: no cover
73 +@@ -2155,7 +2156,7 @@ class MockTest(unittest.TestCase):
74 + self.addCleanup(sys.settrace, sys.gettrace())
75 + sys.settrace(trace)
76 +
77 +- from unittest.mock import (
78 ++ from mock.mock import (
79 + Mock, MagicMock, NonCallableMock, NonCallableMagicMock
80 + )
81 +
82 +@@ -2170,10 +2171,10 @@ class MockTest(unittest.TestCase):
83 + def test_bool_not_called_when_passing_spec_arg(self):
84 + class Something:
85 + def __init__(self):
86 +- self.obj_with_bool_func = unittest.mock.MagicMock()
87 ++ self.obj_with_bool_func = mock_module.MagicMock()
88 +
89 + obj = Something()
90 +- with unittest.mock.patch.object(obj, 'obj_with_bool_func', autospec=True): pass
91 ++ with mock_module.patch.object(obj, 'obj_with_bool_func', autospec=True): pass
92 +
93 + self.assertEqual(obj.obj_with_bool_func.__bool__.call_count, 0)
94 +
95 +--
96 +2.31.1
97 +
98
99 diff --git a/dev-python/mock/mock-4.0.3.ebuild b/dev-python/mock/mock-4.0.3.ebuild
100 index d8149f69770..be913d227c1 100644
101 --- a/dev-python/mock/mock-4.0.3.ebuild
102 +++ b/dev-python/mock/mock-4.0.3.ebuild
103 @@ -3,7 +3,7 @@
104
105 EAPI=7
106
107 -PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
108 +PYTHON_COMPAT=( python3_{7..10} pypy3 )
109
110 inherit distutils-r1
111
112 @@ -16,12 +16,12 @@ SLOT="0"
113 KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
114
115 RDEPEND="
116 - $(python_gen_cond_dep '
117 - dev-python/funcsigs[${PYTHON_USEDEP}]
118 - ' -2)
119 >=dev-python/six-1.9[${PYTHON_USEDEP}]"
120 -DEPEND="${RDEPEND}
121 - >=dev-python/setuptools-17.1[${PYTHON_USEDEP}]"
122 +BDEPEND=${RDEPEND}
123 +
124 +PATCHES=(
125 + "${FILESDIR}"/${P}-py310.patch
126 +)
127
128 src_prepare() {
129 sed -i -e '/ pytest.*/d' setup.cfg || die
130 @@ -35,9 +35,6 @@ python_test() {
131 # test filtering.
132 cp -r mock/tests "${BUILD_DIR}"/lib/mock/ || die
133 cd "${BUILD_DIR}"/lib || die
134 - if ! python_is_python3; then
135 - rm mock/tests/*py3* || die
136 - fi
137
138 # https://github.com/testing-cabal/mock/commit/d6b42149bb87cf38729eef8a100c473f602ef7fa
139 if [[ ${EPYTHON} == pypy* ]]; then