Python 3.13 compatibility

This only changes the tests.

Fixes https://bugzilla.redhat.com/2247011
This commit is contained in:
Miro Hrončok 2023-11-06 11:43:32 +01:00
parent 3b50336b27
commit 9fac0d5501
3 changed files with 533 additions and 0 deletions

View File

@ -0,0 +1,482 @@
From 34187968a67151f02db491a56a0037b55319931d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Mon, 30 Oct 2023 20:21:55 +0100
Subject: [PATCH] Avoid usage of unittest.makeSuite(), removed from Python 3.13
(GH-385)
Patch generated by:
sed -i 's/unittest.makeSuite/unittest.defaultTestLoader.loadTestsFromTestCase/g' $(grep -rl makeSuite)
---
src/lxml/html/tests/test_clean.py | 2 +-
src/lxml/html/tests/test_elementsoup.py | 2 +-
src/lxml/tests/test_builder.py | 2 +-
src/lxml/tests/test_classlookup.py | 4 ++--
src/lxml/tests/test_css.py | 2 +-
src/lxml/tests/test_doctestcompare.py | 2 +-
src/lxml/tests/test_dtd.py | 2 +-
src/lxml/tests/test_elementpath.py | 4 ++--
src/lxml/tests/test_elementtree.py | 24 +++++++++++-----------
src/lxml/tests/test_errors.py | 2 +-
src/lxml/tests/test_etree.py | 14 ++++++-------
src/lxml/tests/test_external_document.py | 2 +-
src/lxml/tests/test_htmlparser.py | 2 +-
src/lxml/tests/test_http_io.py | 2 +-
src/lxml/tests/test_incremental_xmlfile.py | 12 +++++------
src/lxml/tests/test_io.py | 4 ++--
src/lxml/tests/test_isoschematron.py | 2 +-
src/lxml/tests/test_nsclasses.py | 2 +-
src/lxml/tests/test_objectify.py | 2 +-
src/lxml/tests/test_pyclasslookup.py | 2 +-
src/lxml/tests/test_relaxng.py | 4 ++--
src/lxml/tests/test_sax.py | 4 ++--
src/lxml/tests/test_schematron.py | 2 +-
src/lxml/tests/test_threading.py | 4 ++--
src/lxml/tests/test_unicode.py | 4 ++--
src/lxml/tests/test_xmlschema.py | 4 ++--
src/lxml/tests/test_xpathevaluator.py | 8 ++++----
src/lxml/tests/test_xslt.py | 10 ++++-----
28 files changed, 65 insertions(+), 65 deletions(-)
diff --git a/src/lxml/html/tests/test_clean.py b/src/lxml/html/tests/test_clean.py
index ada0969bc..fe79f6d5b 100644
--- a/src/lxml/html/tests/test_clean.py
+++ b/src/lxml/html/tests/test_clean.py
@@ -296,5 +296,5 @@ def test_suite():
suite = unittest.TestSuite()
suite.addTests([make_doctest('test_clean.txt')])
suite.addTests([make_doctest('test_clean_embed.txt')])
- suite.addTests(unittest.makeSuite(CleanerTest))
+ suite.addTests(unittest.defaultTestLoader.loadTestsFromTestCase(CleanerTest))
return suite
diff --git a/src/lxml/html/tests/test_elementsoup.py b/src/lxml/html/tests/test_elementsoup.py
index 553586b9f..1fd9127a4 100644
--- a/src/lxml/html/tests/test_elementsoup.py
+++ b/src/lxml/html/tests/test_elementsoup.py
@@ -118,7 +118,7 @@ def test_doctype_html5(self):
def test_suite():
suite = unittest.TestSuite()
if BS_INSTALLED:
- suite.addTests([unittest.makeSuite(SoupParserTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(SoupParserTestCase)])
if sys.version_info[0] < 3:
suite.addTests([make_doctest('../../../../doc/elementsoup.txt')])
return suite
diff --git a/src/lxml/tests/test_builder.py b/src/lxml/tests/test_builder.py
index b1ad4ebf6..15f17dfd5 100644
--- a/src/lxml/tests/test_builder.py
+++ b/src/lxml/tests/test_builder.py
@@ -62,7 +62,7 @@ def test_qname_tag_default_namespace(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(BuilderTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(BuilderTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_classlookup.py b/src/lxml/tests/test_classlookup.py
index 7c871d511..c88ce2879 100644
--- a/src/lxml/tests/test_classlookup.py
+++ b/src/lxml/tests/test_classlookup.py
@@ -394,8 +394,8 @@ def custom(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ProxyTestCase)])
- suite.addTests([unittest.makeSuite(ClassLookupTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ProxyTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ClassLookupTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_css.py b/src/lxml/tests/test_css.py
index e2afa65c7..3f1ca8787 100644
--- a/src/lxml/tests/test_css.py
+++ b/src/lxml/tests/test_css.py
@@ -64,5 +64,5 @@ def test_suite():
import lxml.cssselect
suite.addTests(doctest.DocTestSuite(lxml.cssselect))
- suite.addTests([unittest.makeSuite(CSSTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(CSSTestCase)])
return suite
diff --git a/src/lxml/tests/test_doctestcompare.py b/src/lxml/tests/test_doctestcompare.py
index 366328124..636e6b5f6 100644
--- a/src/lxml/tests/test_doctestcompare.py
+++ b/src/lxml/tests/test_doctestcompare.py
@@ -125,7 +125,7 @@ def test_missing_attributes(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(DoctestCompareTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(DoctestCompareTest)])
return suite
diff --git a/src/lxml/tests/test_dtd.py b/src/lxml/tests/test_dtd.py
index 5c9b1c024..cbb1b402e 100644
--- a/src/lxml/tests/test_dtd.py
+++ b/src/lxml/tests/test_dtd.py
@@ -422,7 +422,7 @@ def test_entity_system_url_none(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeDtdTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeDtdTestCase)])
suite.addTests(
[make_doctest('../../../doc/validation.txt')])
return suite
diff --git a/src/lxml/tests/test_elementpath.py b/src/lxml/tests/test_elementpath.py
index 1793ff821..0bb481c87 100644
--- a/src/lxml/tests/test_elementpath.py
+++ b/src/lxml/tests/test_elementpath.py
@@ -293,8 +293,8 @@ def test_find(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(EtreeElementPathTestCase)])
- #suite.addTests([unittest.makeSuite(ElementTreeElementPathTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(EtreeElementPathTestCase)])
+ #suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreeElementPathTestCase)])
return suite
diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py
index 96426cba5..19c77a879 100644
--- a/src/lxml/tests/test_elementtree.py
+++ b/src/lxml/tests/test_elementtree.py
@@ -4992,22 +4992,22 @@ class CElementTreeElementSlicingTest(_ElementSlicingTest):
def test_suite():
suite = unittest.TestSuite()
if etree:
- suite.addTests([unittest.makeSuite(ETreeTestCase)])
- suite.addTests([unittest.makeSuite(ETreePullTestCase)])
- suite.addTests([unittest.makeSuite(ETreeElementSlicingTest)])
- suite.addTests([unittest.makeSuite(ETreeC14NTest)])
- suite.addTests([unittest.makeSuite(ETreeC14N2WriteTest)])
- suite.addTests([unittest.makeSuite(ETreeC14N2TostringTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreePullTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeElementSlicingTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeC14NTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeC14N2WriteTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeC14N2TostringTest)])
if ElementTree:
- suite.addTests([unittest.makeSuite(ElementTreeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreeTestCase)])
if ElementTreePullTestCase:
- suite.addTests([unittest.makeSuite(ElementTreePullTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreePullTestCase)])
if ElementTreeC14NTest:
- suite.addTests([unittest.makeSuite(ElementTreeC14NTest)])
- suite.addTests([unittest.makeSuite(ElementTreeElementSlicingTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreeC14NTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreeElementSlicingTest)])
if cElementTree:
- suite.addTests([unittest.makeSuite(CElementTreeTestCase)])
- suite.addTests([unittest.makeSuite(CElementTreeElementSlicingTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(CElementTreeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(CElementTreeElementSlicingTest)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_errors.py b/src/lxml/tests/test_errors.py
index c0aee7449..7b0ad7126 100644
--- a/src/lxml/tests/test_errors.py
+++ b/src/lxml/tests/test_errors.py
@@ -70,7 +70,7 @@ def test_xmlsyntaxerror_has_info(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ErrorTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ErrorTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py
index 0118d0fc3..f01f04fcd 100644
--- a/src/lxml/tests/test_etree.py
+++ b/src/lxml/tests/test_etree.py
@@ -5580,13 +5580,13 @@ def end(self, tag):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeOnlyTestCase)])
- suite.addTests([unittest.makeSuite(ETreeXIncludeTestCase)])
- suite.addTests([unittest.makeSuite(ElementIncludeTestCase)])
- suite.addTests([unittest.makeSuite(ETreeC14NTestCase)])
- suite.addTests([unittest.makeSuite(ETreeWriteTestCase)])
- suite.addTests([unittest.makeSuite(ETreeErrorLogTest)])
- suite.addTests([unittest.makeSuite(XMLPullParserTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeOnlyTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXIncludeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementIncludeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeC14NTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeWriteTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeErrorLogTest)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(XMLPullParserTest)])
# add original doctests from ElementTree selftest modules
from . import selftest, selftest2
diff --git a/src/lxml/tests/test_external_document.py b/src/lxml/tests/test_external_document.py
index 0d1d0639b..9826a2781 100644
--- a/src/lxml/tests/test_external_document.py
+++ b/src/lxml/tests/test_external_document.py
@@ -98,7 +98,7 @@ def test_external_document_adoption(self):
def test_suite():
suite = unittest.TestSuite()
if sys.platform != 'win32':
- suite.addTests([unittest.makeSuite(ExternalDocumentTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ExternalDocumentTestCase)])
return suite
diff --git a/src/lxml/tests/test_htmlparser.py b/src/lxml/tests/test_htmlparser.py
index 2f3186ff1..53bb8f9d4 100644
--- a/src/lxml/tests/test_htmlparser.py
+++ b/src/lxml/tests/test_htmlparser.py
@@ -679,7 +679,7 @@ def test_xhtml_as_html_as_xml(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(HtmlParserTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(HtmlParserTestCase)])
return suite
diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
index 07f274231..652261391 100644
--- a/src/lxml/tests/test_http_io.py
+++ b/src/lxml/tests/test_http_io.py
@@ -117,7 +117,7 @@ def handler(environ, start_response):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(HttpIOTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(HttpIOTestCase)])
return suite
diff --git a/src/lxml/tests/test_incremental_xmlfile.py b/src/lxml/tests/test_incremental_xmlfile.py
index ddf81652a..f2cca7d6b 100644
--- a/src/lxml/tests/test_incremental_xmlfile.py
+++ b/src/lxml/tests/test_incremental_xmlfile.py
@@ -660,12 +660,12 @@ async def generate(out, close=True, buffered=True):
def test_suite():
suite = unittest.TestSuite()
suite.addTests([
- unittest.makeSuite(BytesIOXmlFileTestCase),
- unittest.makeSuite(TempXmlFileTestCase),
- unittest.makeSuite(TempPathXmlFileTestCase),
- unittest.makeSuite(SimpleFileLikeXmlFileTestCase),
- unittest.makeSuite(HtmlFileTestCase),
- unittest.makeSuite(AsyncXmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(BytesIOXmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(TempXmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(TempPathXmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(SimpleFileLikeXmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(HtmlFileTestCase),
+ unittest.defaultTestLoader.loadTestsFromTestCase(AsyncXmlFileTestCase),
])
return suite
diff --git a/src/lxml/tests/test_io.py b/src/lxml/tests/test_io.py
index cbdbcef06..c45ce45a2 100644
--- a/src/lxml/tests/test_io.py
+++ b/src/lxml/tests/test_io.py
@@ -363,9 +363,9 @@ class ElementTreeIOTestCase(_IOTestCaseBase):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeIOTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeIOTestCase)])
if ElementTree:
- suite.addTests([unittest.makeSuite(ElementTreeIOTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ElementTreeIOTestCase)])
return suite
diff --git a/src/lxml/tests/test_isoschematron.py b/src/lxml/tests/test_isoschematron.py
index bf8a7d27f..ccc4baecc 100644
--- a/src/lxml/tests/test_isoschematron.py
+++ b/src/lxml/tests/test_isoschematron.py
@@ -862,7 +862,7 @@ def test_schematron_fail_on_report(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeISOSchematronTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeISOSchematronTestCase)])
suite.addTests(doctest.DocTestSuite(isoschematron))
suite.addTests(
[make_doctest('../../../doc/validation.txt')])
diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
index a0aa608d7..b9e623f38 100644
--- a/src/lxml/tests/test_nsclasses.py
+++ b/src/lxml/tests/test_nsclasses.py
@@ -203,7 +203,7 @@ class honk(etree.ElementBase):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeNamespaceClassesTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeNamespaceClassesTestCase)])
suite.addTests(
[make_doctest('../../../doc/element_classes.txt')])
return suite
diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
index 15b1c6887..1f1f93d08 100644
--- a/src/lxml/tests/test_objectify.py
+++ b/src/lxml/tests/test_objectify.py
@@ -2744,7 +2744,7 @@ def space(_choice=random.choice):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ObjectifyTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ObjectifyTestCase)])
suite.addTests(doctest.DocTestSuite(objectify))
suite.addTests([make_doctest('../../../doc/objectify.txt')])
return suite
diff --git a/src/lxml/tests/test_pyclasslookup.py b/src/lxml/tests/test_pyclasslookup.py
index d650870a5..c5b161527 100644
--- a/src/lxml/tests/test_pyclasslookup.py
+++ b/src/lxml/tests/test_pyclasslookup.py
@@ -344,7 +344,7 @@ def return_none(*args):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(PyClassLookupTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(PyClassLookupTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_relaxng.py b/src/lxml/tests/test_relaxng.py
index 3c589c18a..7e7f1719d 100644
--- a/src/lxml/tests/test_relaxng.py
+++ b/src/lxml/tests/test_relaxng.py
@@ -249,11 +249,11 @@ def test_relaxng_compact_str(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeRelaxNGTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeRelaxNGTestCase)])
suite.addTests(
[make_doctest('../../../doc/validation.txt')])
if rnc2rng is not None:
- suite.addTests([unittest.makeSuite(RelaxNGCompactTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(RelaxNGCompactTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_sax.py b/src/lxml/tests/test_sax.py
index 2ed1e5135..9a2e08262 100644
--- a/src/lxml/tests/test_sax.py
+++ b/src/lxml/tests/test_sax.py
@@ -405,8 +405,8 @@ def test_element_sax_twin_ns_prefix(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeSaxTestCase)])
- suite.addTests([unittest.makeSuite(NSPrefixSaxTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeSaxTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(NSPrefixSaxTestCase)])
suite.addTests(
[make_doctest('../../../doc/sax.txt')])
return suite
diff --git a/src/lxml/tests/test_schematron.py b/src/lxml/tests/test_schematron.py
index 2096346e3..c1c22e6c7 100644
--- a/src/lxml/tests/test_schematron.py
+++ b/src/lxml/tests/test_schematron.py
@@ -73,7 +73,7 @@ def test_schematron_invalid_schema_namespace(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeSchematronTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeSchematronTestCase)])
suite.addTests(
[make_doctest('../../../doc/validation.txt')])
return suite
diff --git a/src/lxml/tests/test_threading.py b/src/lxml/tests/test_threading.py
index 2a16858b1..906db7f70 100644
--- a/src/lxml/tests/test_threading.py
+++ b/src/lxml/tests/test_threading.py
@@ -582,8 +582,8 @@ def test_thread_pipeline_global_parse(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ThreadingTestCase)])
- suite.addTests([unittest.makeSuite(ThreadPipelineTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ThreadingTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ThreadPipelineTestCase)])
return suite
if __name__ == '__main__':
diff --git a/src/lxml/tests/test_unicode.py b/src/lxml/tests/test_unicode.py
index 287a0f0f7..6d4ee9c0f 100644
--- a/src/lxml/tests/test_unicode.py
+++ b/src/lxml/tests/test_unicode.py
@@ -207,6 +207,6 @@ def test_utf32BE_fromstring(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(UnicodeTestCase)])
- suite.addTests([unittest.makeSuite(EncodingsTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(UnicodeTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(EncodingsTestCase)])
return suite
diff --git a/src/lxml/tests/test_xmlschema.py b/src/lxml/tests/test_xmlschema.py
index dbfc251a5..739dde463 100644
--- a/src/lxml/tests/test_xmlschema.py
+++ b/src/lxml/tests/test_xmlschema.py
@@ -499,8 +499,8 @@ def resolve(self, url, id, context):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeXMLSchemaTestCase)])
- suite.addTests([unittest.makeSuite(ETreeXMLSchemaResolversTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXMLSchemaTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXMLSchemaResolversTestCase)])
suite.addTests(
[make_doctest('../../../doc/validation.txt')])
return suite
diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
index 13ee97ece..ece23095f 100644
--- a/src/lxml/tests/test_xpathevaluator.py
+++ b/src/lxml/tests/test_xpathevaluator.py
@@ -734,11 +734,11 @@ def xpath():
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeXPathTestCase)])
- suite.addTests([unittest.makeSuite(ETreeXPathClassTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXPathTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXPathClassTestCase)])
if etree.LIBXSLT_COMPILED_VERSION >= (1,1,25):
- suite.addTests([unittest.makeSuite(ETreeXPathExsltTestCase)])
- suite.addTests([unittest.makeSuite(ETreeETXPathClassTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXPathExsltTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeETXPathClassTestCase)])
suite.addTests([doctest.DocTestSuite()])
suite.addTests(
[make_doctest('../../../doc/xpathxslt.txt')])
diff --git a/src/lxml/tests/test_xslt.py b/src/lxml/tests/test_xslt.py
index 84c1983fd..7ef0bb783 100644
--- a/src/lxml/tests/test_xslt.py
+++ b/src/lxml/tests/test_xslt.py
@@ -2090,12 +2090,12 @@ def test_xslt_result_memoryview(self):
def test_suite():
suite = unittest.TestSuite()
- suite.addTests([unittest.makeSuite(ETreeXSLTTestCase)])
- suite.addTests([unittest.makeSuite(ETreeEXSLTTestCase)])
- suite.addTests([unittest.makeSuite(ETreeXSLTExtFuncTestCase)])
- suite.addTests([unittest.makeSuite(ETreeXSLTExtElementTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXSLTTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeEXSLTTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXSLTExtFuncTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(ETreeXSLTExtElementTestCase)])
if is_python3:
- suite.addTests([unittest.makeSuite(Py3XSLTTestCase)])
+ suite.addTests([unittest.defaultTestLoader.loadTestsFromTestCase(Py3XSLTTestCase)])
suite.addTests(
[make_doctest('../../../doc/extensions.txt')])
suite.addTests(

View File

@ -0,0 +1,47 @@
From 98025653e182f9203189cbde0ab2d6ebec556db8 Mon Sep 17 00:00:00 2001
From: Stefan Behnel <stefan_ml@behnel.de>
Date: Tue, 31 Oct 2023 12:07:30 +0100
Subject: [PATCH] Fix doctest in Py3.13.
---
src/lxml/tests/test_xpathevaluator.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/lxml/tests/test_xpathevaluator.py b/src/lxml/tests/test_xpathevaluator.py
index ece23095f..8bc453e50 100644
--- a/src/lxml/tests/test_xpathevaluator.py
+++ b/src/lxml/tests/test_xpathevaluator.py
@@ -687,15 +687,15 @@ def resultTypesTest2(ctxt):
(None, 'resultTypesTest2'): resultTypesTest2,}
def xpath():
- """
+ u"""
Test xpath extension functions.
>>> root = SAMPLE_XML
>>> e = etree.XPathEvaluator(root, extensions=[extension])
>>> e("stringTest('you')")
'Hello you'
- >>> e(_bytes("stringTest('\\\\xe9lan')").decode("unicode_escape"))
- u'Hello \\xe9lan'
+ >>> print(e(_bytes("stringTest('\\\\xe9lan')").decode("unicode_escape")))
+ Hello \xe9lan
>>> e("stringTest('you','there')") #doctest: +ELLIPSIS
Traceback (most recent call last):
...
@@ -714,10 +714,10 @@ def xpath():
"a, 1.5, True, ['tag', 'tag', 'tag']"
>>> list(map(tag, e("argsTest2(/body/tag, /body/section)")))
['tag', 'section', 'tag', 'tag']
- >>> e("resultTypesTest()")
- Traceback (most recent call last):
- ...
- XPathResultError: This is not a supported node-set result: None
+ >>> try: e("resultTypesTest()")
+ ... except etree.XPathResultError as exc: print(exc)
+ ... else: print("SHOULD HAVE FAILED!")
+ This is not a supported node-set result: None
>>> try:
... e("resultTypesTest2()")
... except etree.XPathResultError:

View File

@ -31,6 +31,10 @@ Patch: Skip-failing-test-test_html_prefix_nsmap.patch
Patch: https://github.com/lxml/lxml/commit/dcbc0cc1cb0cedf8019184aaca805d2a649cd8de.patch
Patch: https://github.com/lxml/lxml/commit/a03a4b3c6b906d33c5ef1a15f3d5ca5fff600c76.patch
# Python 3.13 compatibility
Patch: https://github.com/lxml/lxml/commit/34187968a67151f02db491a56a0037b55319931d.patch
Patch: https://github.com/lxml/lxml/commit/98025653e182f9203189cbde0ab2d6ebec556db8.patch
BuildRequires: gcc
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel