public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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():


             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