From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/css-parser/, dev-python/css-parser/files/
Date: Tue, 18 May 2021 09:32:16 +0000 (UTC) [thread overview]
Message-ID: <1621330257.26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58.mgorny@gentoo> (raw)
commit: 26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58
Author: Zamarin Arthur <arthurzam <AT> gmail <DOT> com>
AuthorDate: Tue May 18 09:17:13 2021 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 18 09:30:57 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=26e0302c
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 <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/20818
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
dev-python/css-parser/Manifest | 1 +
dev-python/css-parser/css-parser-1.0.6.ebuild | 26 ++++
.../files/css-parser-1.0.6-fix-py3.10-test.patch | 141 +++++++++++++++++++++
3 files changed, 168 insertions(+)
diff --git a/dev-python/css-parser/Manifest b/dev-python/css-parser/Manifest
index 6cb95949e81..610aec31c95 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 00000000000..ccc51564195
--- /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 00000000000..9107adefed5
--- /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():
next reply other threads:[~2021-05-18 9:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-18 9:32 Michał Górny [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-01-10 20:47 [gentoo-commits] repo/gentoo:master commit in: dev-python/css-parser/, dev-python/css-parser/files/ Michał Górny
2022-08-10 13:05 Sam James
2022-11-04 6:15 Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1621330257.26e0302cb9b4d2dacf43874dd1b5150fe2ca5f58.mgorny@gentoo \
--to=mgorny@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox