summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-01 08:25:24 +0100
committerSam James <sam@gentoo.org>2022-06-01 08:25:37 +0100
commitfafc85759cc72fafd2b6ce6cd08569dee5268ed4 (patch)
tree43eb428d35bca53740db3f5ba2d6583d74bd1e80 /dev-python/mechanize
parentdev-python/Faker: enable py3.11 (diff)
downloadgentoo-fafc85759cc72fafd2b6ce6cd08569dee5268ed4.tar.gz
gentoo-fafc85759cc72fafd2b6ce6cd08569dee5268ed4.tar.bz2
gentoo-fafc85759cc72fafd2b6ce6cd08569dee5268ed4.zip
dev-python/mechanize: enable py3.11
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-python/mechanize')
-rw-r--r--dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch79
-rw-r--r--dev-python/mechanize/mechanize-0.4.8.ebuild6
2 files changed, 84 insertions, 1 deletions
diff --git a/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch b/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch
new file mode 100644
index 000000000000..0808460dcc67
--- /dev/null
+++ b/dev-python/mechanize/files/mechanize-0.4.8-python3.11-test-order.patch
@@ -0,0 +1,79 @@
+https://github.com/python-mechanize/mechanize/commit/529d2c4cb8f31284f8026642968ba3adb9de1171
+https://github.com/python-mechanize/mechanize/commit/7ba3d586368c03577c061c35bc27664a907f5435
+https://github.com/python-mechanize/mechanize/commit/560839d51e54943890c2d37c0d0854792479cb80
+
+From: Kovid Goyal <kovid@kovidgoyal.net>
+Date: Tue, 24 May 2022 11:13:16 +0530
+Subject: [PATCH] Use asserts for failing test so we get better feedback on the
+ failure
+
+--- a/test/test_cookies.py
++++ b/test/test_cookies.py
+@@ -1028,10 +1028,10 @@ def test_Cookie_iterator(self): # noqa
+ i = 0
+ for c in cs:
+ # assert isinstance(c, Cookie)
+- assert c.version == versions[i]
+- assert c.name == names[i]
+- assert c.domain == domains[i]
+- assert c.path == paths[i]
++ self.assertEqual(c.version, versions[i])
++ self.assertEqual(c.name, names[i])
++ self.assertEqual(c.domain, domains[i])
++ self.assertEqual(c.path, paths[i])
+ i = i + 1
+
+ self.assertRaises(IndexError, lambda cs=cs: cs[5])
+
+From: Kovid Goyal <kovid@kovidgoyal.net>
+Date: Tue, 24 May 2022 17:54:50 +0530
+Subject: [PATCH] DRYer
+
+--- a/test/test_cookies.py
++++ b/test/test_cookies.py
+@@ -1025,14 +1025,9 @@ def test_Cookie_iterator(self): # noqa
+
+ # sequential iteration
+ for i in range(4):
+- i = 0
+- for c in cs:
++ for c, expected in zip(cs, zip(versions, names, domains, paths)):
+ # assert isinstance(c, Cookie)
+- self.assertEqual(c.version, versions[i])
+- self.assertEqual(c.name, names[i])
+- self.assertEqual(c.domain, domains[i])
+- self.assertEqual(c.path, paths[i])
+- i = i + 1
++ self.assertEqual((c.version, c.name, c.domain, c.path), expected)
+
+ self.assertRaises(IndexError, lambda cs=cs: cs[5])
+
+Date: Tue, 24 May 2022 18:09:16 +0530
+Subject: [PATCH] Change test to not rely on order of cookie iteration
+
+python 3.11 iterates in add order, earlier pythons iterate in domain
+sorted order
+
+Fix #74
+--- a/test/test_cookies.py
++++ b/test/test_cookies.py
+@@ -1022,13 +1022,12 @@ def test_Cookie_iterator(self): # noqa
+ "www.acme.com"
+ ]
+ paths = ["/", "/", "/", "/blah", "/blah/"]
+-
++ expected = set(zip(versions, names, domains, paths))
+ # sequential iteration
+- for i in range(4):
+- for c, expected in zip(cs, zip(versions, names, domains, paths)):
+- # assert isinstance(c, Cookie)
+- self.assertEqual((c.version, c.name, c.domain, c.path), expected)
+-
++ # python 3.11 iterates in add order, earlier pythons iterate in domain
++ # sorted order
++ actual = {(c.version, c.name, c.domain, c.path) for c in cs}
++ self.assertEqual(expected, actual)
+ self.assertRaises(IndexError, lambda cs=cs: cs[5])
+
+ def test_parse_ns_headers(self):
+
diff --git a/dev-python/mechanize/mechanize-0.4.8.ebuild b/dev-python/mechanize/mechanize-0.4.8.ebuild
index c8d729b6ea5e..327456a039dd 100644
--- a/dev-python/mechanize/mechanize-0.4.8.ebuild
+++ b/dev-python/mechanize/mechanize-0.4.8.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
DESCRIPTION="Stateful programmatic web browsing in Python"
@@ -24,6 +24,10 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.4.8-python3.11-test-order.patch
+)
+
python_test() {
"${EPYTHON}" run_tests.py || die
}