Hello community,
here is the log from the commit of package python-html5lib for openSUSE:Factory
checked in at 2019-11-04 17:14:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-html5lib (Old)
and /work/SRC/openSUSE:Factory/.python-html5lib.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-html5lib"
Mon Nov 4 17:14:15 2019 rev:17 rq:744731 version:1.0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-html5lib/python-html5lib.changes
2019-07-30 13:03:17.422415692 +0200
+++
/work/SRC/openSUSE:Factory/.python-html5lib.new.2990/python-html5lib.changes
2019-11-04 17:14:17.304766362 +0100
@@ -1,0 +2,12 @@
+Fri Nov 1 11:50:36 CET 2019 - Matej Cepl <[email protected]>
+
+- Add pytest4-mhroncok.patch by Miro Hroncok from
+ gh#html5lib/html5lib-python#414 to make testsuite passing under
+ pytest4+.
+
+-------------------------------------------------------------------
+Mon Oct 14 13:39:22 UTC 2019 - Matej Cepl <[email protected]>
+
+- Replace %fdupes with plain %fdupes; hardlinks are better.
+
+-------------------------------------------------------------------
New:
----
pytest4-mhroncok.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-html5lib.spec ++++++
--- /var/tmp/diff_new_pack.g6KhFs/_old 2019-11-04 17:14:17.836766930 +0100
+++ /var/tmp/diff_new_pack.g6KhFs/_new 2019-11-04 17:14:17.840766935 +0100
@@ -22,16 +22,18 @@
Release: 0
Summary: HTML parser based on the WHAT-WG Web Applications 1
License: MIT
-Group: Development/Languages/Python
URL: https://github.com/html5lib/html5lib-python
Source:
https://files.pythonhosted.org/packages/source/h/html5lib/html5lib-%{version}.tar.gz
+# PATCH-{FIX|FEATURE}-{OPENSUSE|SLE|UPSTREAM} name-of-file.patch
gh#html5lib/html5lib-python#414 [email protected]
+# This patch makes testsuite pass with pytest4
+Patch0: pytest4-mhroncok.patch
BuildRequires: %{python_module Genshi}
BuildRequires: %{python_module datrie}
BuildRequires: %{python_module lxml}
BuildRequires: %{python_module mock}
-BuildRequires: %{python_module pytest-expect}
# https://github.com/html5lib/html5lib-python/issues/411
-BuildRequires: %{python_module pytest < 4.0}
+BuildRequires: %{python_module pytest-expect}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools >= 18.5}
BuildRequires: %{python_module six >= 1.9}
BuildRequires: %{python_module webencodings}
@@ -56,16 +58,17 @@
%prep
%setup -q -n html5lib-%{version}
+%autopatch -p1
%build
%python_build
%install
%python_install
-%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-%python_expand %python_exec %{_bindir}/py.test --tb=short
+%pytest --tb=short
%files %{python_files}
%license LICENSE
++++++ pytest4-mhroncok.patch ++++++
>From dd117cc62d961573e9867d79ae1c3461a42e6167 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <[email protected]>
Date: Thu, 28 Mar 2019 01:45:43 +0100
Subject: [PATCH] Support pytest 4
Fixes https://github.com/html5lib/html5lib-python/issues/411
---
html5lib/tests/test_encoding.py | 4 ++--
html5lib/tests/test_sanitizer.py | 14 +++++++-------
html5lib/tests/test_serializer.py | 2 +-
html5lib/tests/test_stream.py | 7 ++++---
html5lib/tests/test_treewalkers.py | 2 +-
requirements-test.txt | 2 +-
tox.ini | 2 +-
7 files changed, 17 insertions(+), 16 deletions(-)
--- a/html5lib/tests/test_encoding.py
+++ b/html5lib/tests/test_encoding.py
@@ -94,13 +94,13 @@ def runPreScanEncodingTest(data, encodin
assert encoding == stream.charEncoding[0].name, errorMessage(data,
encoding, stream.charEncoding[0].name)
-
[email protected](reason="broken under pytest4")
def test_encoding():
for filename in get_data_files("encoding"):
tests = _TestData(filename, b"data", encoding=None)
for test in tests:
- yield (runParserEncodingTest, test[b'data'], test[b'encoding'])
- yield (runPreScanEncodingTest, test[b'data'], test[b'encoding'])
+ runParserEncodingTest(test[b'data'], test[b'encoding'])
+ runPreScanEncodingTest(test[b'data'], test[b'encoding'])
# pylint:disable=wrong-import-position
--- a/html5lib/tests/test_sanitizer.py
+++ b/html5lib/tests/test_sanitizer.py
@@ -67,19 +67,19 @@ def test_sanitizer():
'tfoot', 'th', 'thead', 'tr', 'select']:
continue # TODO
if tag_name == 'image':
- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
"<img title=\"1\"/>foo <bad>bar</bad> baz",
"<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name,
tag_name))
elif tag_name == 'br':
- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
"<br title=\"1\"/>foo <bad>bar</bad> baz<br/>",
"<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name,
tag_name))
elif tag_name in constants.voidElements:
- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
"<%s title=\"1\"/>foo <bad>bar</bad> baz" %
tag_name,
"<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name,
tag_name))
else:
- yield (runSanitizerTest, "test_should_allow_%s_tag" % tag_name,
+ runSanitizerTest("test_should_allow_%s_tag" % tag_name,
"<%s title=\"1\">foo <bad>bar</bad> baz</%s>" %
(tag_name, tag_name),
"<%s title='1'>foo <bad>bar</bad> baz</%s>" % (tag_name,
tag_name))
@@ -93,7 +93,7 @@ def test_sanitizer():
attribute_value = 'foo'
if attribute_name in sanitizer.attr_val_is_uri:
attribute_value = '%s://sub.domain.tld/path/object.ext' %
sanitizer.allowed_protocols[0]
- yield (runSanitizerTest, "test_should_allow_%s_attribute" %
attribute_name,
+ runSanitizerTest("test_should_allow_%s_attribute" % attribute_name,
"<p %s=\"%s\">foo <bad>bar</bad> baz</p>" %
(attribute_name, attribute_value),
"<p %s='%s'>foo <bad>bar</bad> baz</p>" % (attribute_name,
attribute_value))
@@ -101,7 +101,7 @@ def test_sanitizer():
rest_of_uri = '//sub.domain.tld/path/object.ext'
if protocol == 'data':
rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
- yield (runSanitizerTest, "test_should_allow_uppercase_%s_uris" %
protocol,
+ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
"<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
"""<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
@@ -110,7 +110,7 @@ def test_sanitizer():
if protocol == 'data':
rest_of_uri = 'image/png;base64,aGVsbG8gd29ybGQ='
protocol = protocol.upper()
- yield (runSanitizerTest, "test_should_allow_uppercase_%s_uris" %
protocol,
+ runSanitizerTest("test_should_allow_uppercase_%s_uris" % protocol,
"<img src=\"%s:%s\">foo</a>" % (protocol, rest_of_uri),
"""<img src="%s:%s">foo</a>""" % (protocol, rest_of_uri))
--- a/html5lib/tests/test_serializer.py
+++ b/html5lib/tests/test_serializer.py
@@ -222,4 +222,4 @@ def test_serializer():
with open(filename) as fp:
tests = json.load(fp)
for test in tests['tests']:
- yield runSerializerTest, test["input"], test["expected"],
test.get("options", {})
+ runSerializerTest(test["input"], test["expected"],
test.get("options", {}))
--- a/html5lib/tests/test_stream.py
+++ b/html5lib/tests/test_stream.py
@@ -308,9 +308,10 @@ def test_invalid_codepoints(inp, num):
("'\\uD800\\uD800\\uD800'", 3),
("'a\\uD800a\\uD800a\\uD800a'", 3),
("'\\uDFFF\\uDBFF'", 2),
- pytest.mark.skipif(sys.maxunicode == 0xFFFF,
- ("'\\uDBFF\\uDFFF'", 2),
- reason="narrow Python")])
+ pytest.param(
+ "'\\uDBFF\\uDFFF'", 2,
+ marks=pytest.mark.skipif(sys.maxunicode ==
0xFFFF,
+ reason="narrow
Python"))])
def test_invalid_codepoints_surrogates(inp, num):
inp = eval(inp) # pylint:disable=eval-used
fp = StringIO(inp)
--- a/html5lib/tests/test_treewalkers.py
+++ b/html5lib/tests/test_treewalkers.py
@@ -99,7 +99,7 @@ def test_treewalker_six_mix():
for tree in sorted(treeTypes.items()):
for intext, attrs, expected in sm_tests:
- yield runTreewalkerEditTest, intext, expected, attrs, tree
+ runTreewalkerEditTest(intext, expected, attrs, tree)
@pytest.mark.parametrize("tree,char",
itertools.product(sorted(treeTypes.items()), ["x", "\u1234"]))
--- a/requirements-test.txt
+++ b/requirements-test.txt
@@ -4,7 +4,7 @@ tox
flake8<3.0
-pytest==3.2.5
+pytest>=4.3,<4.4
coverage
pytest-expect>=1.1,<2.0
mock
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = {py27,py33,py34,py35,py36,pypy}-{base,six19,optional}
+envlist = {py27,py34,py35,py36,py37,py38,pypy}-{base,six19,optional}
[testenv]
deps =