summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2021-12-10 21:00:29 +0100
committerStefan Behnel <stefan_ml@behnel.de>2021-12-10 21:02:03 +0100
commitd85c6de992886dd13f6b7acb8e549674d313f6f8 (patch)
tree7ecf23af666bb2a571c400cf65b80776e5fdd79a
parentcd4bec9cb62b3134b09494bd0ba6b6bc11d184df (diff)
downloadpython-lxml-d85c6de992886dd13f6b7acb8e549674d313f6f8.tar.gz
Exclude a test when using the macOS system libraries because it fails with libxml2 2.9.4.
-rw-r--r--src/lxml/tests/common_imports.py7
-rw-r--r--src/lxml/tests/test_htmlparser.py5
-rw-r--r--src/lxml/tests/test_unicode.py3
3 files changed, 12 insertions, 3 deletions
diff --git a/src/lxml/tests/common_imports.py b/src/lxml/tests/common_imports.py
index 0a6cbbfa..53780d99 100644
--- a/src/lxml/tests/common_imports.py
+++ b/src/lxml/tests/common_imports.py
@@ -69,6 +69,13 @@ def filter_by_version(test_class, version_dict, current_version):
if expected_version > current_version:
setattr(test_class, name, dummy_test_method)
+
+def needs_libxml(*version):
+ return unittest.skipIf(
+ etree.LIBXML_VERSION >= version,
+ "needs libxml2 >= %s.%s.%s" % (version + (0, 0, 0))[:3])
+
+
import doctest
try:
diff --git a/src/lxml/tests/test_htmlparser.py b/src/lxml/tests/test_htmlparser.py
index 9847d39b..4460c1d4 100644
--- a/src/lxml/tests/test_htmlparser.py
+++ b/src/lxml/tests/test_htmlparser.py
@@ -10,7 +10,7 @@ import unittest
import tempfile, os, os.path, sys
from .common_imports import etree, html, BytesIO, fileInTestDir, _bytes, _str
-from .common_imports import SillyFileLike, HelperTestCase, write_to_file
+from .common_imports import SillyFileLike, HelperTestCase, write_to_file, needs_libxml
try:
unicode
@@ -53,7 +53,8 @@ class HtmlParserTestCase(HelperTestCase):
self.assertEqual(element.findtext('.//h1'),
_bytes("page á title").decode('utf8'))
- def test_wide_unicode_xml(self):
+ @needs_libxml(2, 9, 5) # not sure, at least 2.9.4 fails
+ def test_wide_unicode_html(self):
if sys.maxunicode < 1114111:
return # skip test
element = self.etree.HTML(_bytes(
diff --git a/src/lxml/tests/test_unicode.py b/src/lxml/tests/test_unicode.py
index 03ffcba4..287a0f0f 100644
--- a/src/lxml/tests/test_unicode.py
+++ b/src/lxml/tests/test_unicode.py
@@ -4,7 +4,7 @@ from __future__ import absolute_import
import unittest
import sys
-from .common_imports import StringIO, etree, HelperTestCase, _str, _bytes, _chr
+from .common_imports import StringIO, etree, HelperTestCase, _str, _bytes, _chr, needs_libxml
try:
unicode
@@ -34,6 +34,7 @@ class UnicodeTestCase(HelperTestCase):
tree = etree.XML('<p>%s</p>' % uni)
self.assertEqual(uni, tree.text)
+ @needs_libxml(2, 9, 5) # not sure, at least 2.9.4 fails
def test_wide_unicode_xml(self):
if sys.maxunicode < 1114111:
return # skip test