diff options
author | 2021-05-18 12:17:13 +0300 | |
---|---|---|
committer | 2021-05-18 11:30:57 +0200 | |
commit | 26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58 (patch) | |
tree | 5fa8326621b79bd4cf4a0d509c712a07f3e024f6 /dev-python/css-parser | |
parent | dev-python/html2text: bump to python 3.10 (diff) | |
download | gentoo-26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58.tar.gz gentoo-26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58.tar.bz2 gentoo-26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58.zip |
dev-python/css-parser: add 1.0.6, py3.10
- passes tests when using FEATURES="-network-sandbox"
- adding chardet dependency removes warning during tests
Signed-off-by: Zamarin Arthur <arthurzam@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/20818
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python/css-parser')
-rw-r--r-- | dev-python/css-parser/Manifest | 1 | ||||
-rw-r--r-- | dev-python/css-parser/css-parser-1.0.6.ebuild | 26 | ||||
-rw-r--r-- | dev-python/css-parser/files/css-parser-1.0.6-fix-py3.10-test.patch | 141 |
3 files changed, 168 insertions, 0 deletions
diff --git a/dev-python/css-parser/Manifest b/dev-python/css-parser/Manifest index 6cb95949e812..610aec31c950 100644 --- a/dev-python/css-parser/Manifest +++ b/dev-python/css-parser/Manifest @@ -1 +1,2 @@ DIST css-parser-1.0.4.tar.gz 143977 BLAKE2B 94a42d751a90d306b0dd2d503d8d9c326509b438d1f52b5567e6f6db7d80e7a6d2c37cbfa0db79225cc4d0fd5df612b3e430fa1c62604a2f8990d20678019af0 SHA512 3781128e55c1e72aa00369873e214f683e3f42944ae83d399697adb7d2966f68fb500c39982845ce9cd06078e4021838d82b06f99d90938069371da8a89a0857 +DIST css-parser-1.0.6.tar.gz 336932 BLAKE2B 00cfc4597137c0aa6af3cc8a72fa3e59a1d7b83210668c8421c0703a4a38d05d73f691ff00ffac14025f021a10f85c1d3697778794d23f75db381f5e63e24b7d SHA512 4c623541e1145c91458e7e2028f6a0de652ae2189dc99672fc72f098799d6349edb051bafc0901258481fa3422346303d2ef634392889ee83a29814609cdbd43 diff --git a/dev-python/css-parser/css-parser-1.0.6.ebuild b/dev-python/css-parser/css-parser-1.0.6.ebuild new file mode 100644 index 000000000000..ccc51564195c --- /dev/null +++ b/dev-python/css-parser/css-parser-1.0.6.ebuild @@ -0,0 +1,26 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{7..10} ) + +inherit distutils-r1 + +DESCRIPTION="A CSS Cascading Style Sheets library (fork of cssutils)" +HOMEPAGE="https://pypi.org/project/css-parser/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2.1+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="test? ( dev-python/chardet[${PYTHON_USEDEP}] )" + +PATCHES=( + "${FILESDIR}/${P}-fix-py3.10-test.patch" +) + +distutils_enable_tests setup.py diff --git a/dev-python/css-parser/files/css-parser-1.0.6-fix-py3.10-test.patch b/dev-python/css-parser/files/css-parser-1.0.6-fix-py3.10-test.patch new file mode 100644 index 000000000000..9107adefed56 --- /dev/null +++ b/dev-python/css-parser/files/css-parser-1.0.6-fix-py3.10-test.patch @@ -0,0 +1,141 @@ +diff --git a/css_parser_tests/basetest.py b/css_parser_tests/basetest.py +index 2b26906..115053f 100644 +--- a/css_parser_tests/basetest.py ++++ b/css_parser_tests/basetest.py +@@ -149,21 +149,7 @@ class BaseTestCase(unittest.TestCase): + else: + self.fail("%s did not raise %s" % (callsig, exception)) + +- def assertRaisesMsg(self, excClass, msg, callableObj, *args, **kwargs): +- """ +- Just like unittest.TestCase.assertRaises, +- but checks that the message is right too. +- +- Usage:: +- +- self.assertRaisesMsg( +- MyException, "Exception message", +- my_function, (arg1, arg2) +- ) +- +- from +- http://www.nedbatchelder.com/blog/200609.html#e20060905T064418 +- """ ++ def _assertRaisesMsgSubstring(self, excClass, msg, substring_match, callableObj, *args, **kwargs): + try: + callableObj(*args, **kwargs) + except excClass as exc: +@@ -171,7 +157,7 @@ class BaseTestCase(unittest.TestCase): + if not msg: + # No message provided: any message is fine. + return +- elif excMsg == msg: ++ elif (msg in excMsg if substring_match else msg == excMsg): + # Message provided, and we got the right message: passes. + return + else: +@@ -189,6 +175,29 @@ class BaseTestCase(unittest.TestCase): + excName + ) + ++ def assertRaisesMsg(self, excClass, msg, callableObj, *args, **kwargs): ++ """ ++ Just like unittest.TestCase.assertRaises, ++ but checks that the message is right too. ++ ++ Usage:: ++ ++ self.assertRaisesMsg( ++ MyException, "Exception message", ++ my_function, arg1, arg2, ++ kwarg1=val, kwarg2=val) ++ ++ from ++ http://www.nedbatchelder.com/blog/200609.html#e20060905T064418 ++ """ ++ return self._assertRaisesMsgSubstring(excClass, msg, False, callableObj, *args, **kwargs) ++ ++ def assertRaisesMsgSubstring(self, excClass, msg, callableObj, *args, **kwargs): ++ """ ++ Just like assertRaisesMsg, but looks for substring in the message. ++ """ ++ return self._assertRaisesMsgSubstring(excClass, msg, True, callableObj, *args, **kwargs) ++ + def do_equal_p(self, tests, att='cssText', debug=False, raising=True): + """ + if raising self.p is used for parsing, else self.pf +diff --git a/css_parser_tests/test_property.py b/css_parser_tests/test_property.py +index ae6ab2a..561a5eb 100644 +--- a/css_parser_tests/test_property.py ++++ b/css_parser_tests/test_property.py +@@ -162,8 +162,8 @@ class PropertyTestCase(basetest.BaseTestCase): + "Property.literalname" + p = css_parser.css.property.Property(r'c\olor', 'red') + self.assertEqual(r'c\olor', p.literalname) +- self.assertRaisesMsg(AttributeError, "can't set attribute", p.__setattr__, +- 'literalname', 'color') ++ self.assertRaisesMsgSubstring(AttributeError, "can't set attribute", p.__setattr__, ++ 'literalname', 'color') + + def test_validate(self): + "Property.valid" +diff --git a/css_parser_tests/test_selector.py b/css_parser_tests/test_selector.py +index c0c769e..f2746d8 100644 +--- a/css_parser_tests/test_selector.py ++++ b/css_parser_tests/test_selector.py +@@ -412,7 +412,7 @@ class SelectorTestCase(basetest.BaseTestCase): + + # readonly + def _set(): selector.specificity = 1 +- self.assertRaisesMsg(AttributeError, "can't set attribute", _set) ++ self.assertRaisesMsgSubstring(AttributeError, "can't set attribute", _set) + + tests = { + '*': (0, 0, 0, 0), +diff --git a/css_parser_tests/test_selectorlist.py b/css_parser_tests/test_selectorlist.py +index 7028fe7..54c945a 100644 +--- a/css_parser_tests/test_selectorlist.py ++++ b/css_parser_tests/test_selectorlist.py +@@ -11,6 +11,7 @@ from css_parser.css.selectorlist import SelectorList + class SelectorListTestCase(basetest.BaseTestCase): + + def setUp(self): ++ basetest.BaseTestCase.setUp(self) + self.r = SelectorList() + + def test_init(self): +diff --git a/run_tests.py b/run_tests.py +index 554c752..6507434 100755 +--- a/run_tests.py ++++ b/run_tests.py +@@ -1,10 +1,12 @@ + #!/usr/bin/env python + # vim:fileencoding=utf-8 +-# License: Apache 2.0 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net> ++# License: LGPLv3 Copyright: 2017, Kovid Goyal <kovid at kovidgoyal.net> + +-from __future__ import absolute_import, division, print_function, unicode_literals ++from __future__ import (absolute_import, division, print_function, ++ unicode_literals) + + import importlib ++import logging + import os + import sys + import unittest +@@ -72,6 +74,7 @@ def find_tests(): + + def run_tests(test_names=()): + sys.path = [base, os.path.join(base, 'src')] + sys.path ++ import css_parser + tests = find_tests() + suites = [] + for name in test_names: +@@ -85,6 +88,7 @@ def run_tests(test_names=()): + tests = unittest.TestSuite(suites) if suites else tests + + r = unittest.TextTestRunner ++ css_parser.log.setLevel(logging.CRITICAL) + result = r().run(tests) + + if not result.wasSuccessful(): |