commit:     f196f19cb6c00c18e4cdce076e7265676bd9646e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 10 12:41:34 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 10 13:00:00 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f196f19c

dev-python/css-parser: enable py3.11

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/css-parser/css-parser-1.0.7-r1.ebuild   |  6 ++-
 .../files/css-parser-1.0.7-python311-tests.patch   | 51 ++++++++++++++++++++++
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/dev-python/css-parser/css-parser-1.0.7-r1.ebuild 
b/dev-python/css-parser/css-parser-1.0.7-r1.ebuild
index d450388f0198..91c945604f6a 100644
--- a/dev-python/css-parser/css-parser-1.0.7-r1.ebuild
+++ b/dev-python/css-parser/css-parser-1.0.7-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{8..11} )
 
 inherit distutils-r1
 
@@ -20,4 +20,8 @@ BDEPEND="
        test? ( dev-python/chardet[${PYTHON_USEDEP}] )
 "
 
+PATCHES=(
+       "${FILESDIR}"/${P}-python311-tests.patch
+)
+
 distutils_enable_tests unittest

diff --git a/dev-python/css-parser/files/css-parser-1.0.7-python311-tests.patch 
b/dev-python/css-parser/files/css-parser-1.0.7-python311-tests.patch
new file mode 100644
index 000000000000..c9e4801cafbe
--- /dev/null
+++ b/dev-python/css-parser/files/css-parser-1.0.7-python311-tests.patch
@@ -0,0 +1,51 @@
+https://github.com/ebook-utils/css-parser/commit/ad79cfcb6e55837a4353b92d051de023c18f6581
+
+From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <[email protected]>
+Date: Sat, 21 May 2022 14:21:28 +0200
+Subject: [PATCH] tests: adjust exception string checks for python 3.11
+
+Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2062102.
+--- a/css_parser_tests/test_property.py
++++ b/css_parser_tests/test_property.py
+@@ -5,6 +5,7 @@
+ import xml.dom
+ from . import basetest
+ import css_parser
++import sys
+ 
+ 
+ class PropertyTestCase(basetest.BaseTestCase):
+@@ -162,8 +163,9 @@ def test_literalname(self):
+         "Property.literalname"
+         p = css_parser.css.property.Property(r'c\olor', 'red')
+         self.assertEqual(r'c\olor', p.literalname)
+-        self.assertRaisesMsgSubstring(AttributeError, "can't set attribute", 
p.__setattr__,
+-                                      'literalname', 'color')
++        pattern = "object has no setter" if sys.version_info >= (3,11) else 
"can't set attribute"
++        self.assertRaisesMsgSubstring(AttributeError, pattern,
++                                      p.__setattr__, 'literalname', 'color')
+ 
+     def test_validate(self):
+         "Property.valid"
+--- a/css_parser_tests/test_selector.py
++++ b/css_parser_tests/test_selector.py
+@@ -11,6 +11,7 @@
+ import xml.dom
+ from . import basetest
+ import css_parser
++import sys
+ 
+ 
+ class SelectorTestCase(basetest.BaseTestCase):
+@@ -412,7 +413,9 @@ def test_specificity(self):
+ 
+         # readonly
+         def _set(): selector.specificity = 1
+-        self.assertRaisesMsgSubstring(AttributeError, "can't set attribute", 
_set)
++
++        pattern = "object has no setter" if sys.version_info >= (3,11) else 
"can't set attribute"
++        self.assertRaisesMsgSubstring(AttributeError, pattern, _set)
+ 
+         tests = {
+             '*': (0, 0, 0, 0),
+

Reply via email to