forked from pool/python312
Matej Cepl
781fdc451d
- Add CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch to fix tests with patched libexpat below 2.6.0 that doesn't update the version number, just in 15.6. - Drop libexpat260.patch, not needed anymore. This patch is merged with the CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch to keep working on 15.6. - Add fix-test-recursion-limit-15.6.patch, gh#python/cpython#115083. OBS-URL: https://build.opensuse.org/request/show/1168530 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=45
68 lines
2.6 KiB
Diff
68 lines
2.6 KiB
Diff
Index: Python-3.12.3/Lib/test/test_xml_etree.py
|
|
===================================================================
|
|
--- Python-3.12.3.orig/Lib/test/test_xml_etree.py
|
|
+++ Python-3.12.3/Lib/test/test_xml_etree.py
|
|
@@ -121,6 +121,11 @@ ATTLIST_XML = """\
|
|
</foo>
|
|
"""
|
|
|
|
+IS_SLE_15_6 = os.environ.get("SLE_VERSION", "") == "0150600"
|
|
+fails_with_expat_2_6_0 = (unittest.expectedFailure
|
|
+ # 2.4 version patched in SLE
|
|
+ if IS_SLE_15_6 and pyexpat.version_info >= (2, 4, 0) else
|
|
+ lambda test: test)
|
|
def checkwarnings(*filters, quiet=False):
|
|
def decorator(test):
|
|
def newtest(*args, **kwargs):
|
|
@@ -1424,9 +1429,11 @@ class XMLPullParserTest(unittest.TestCas
|
|
self.assert_event_tags(parser, [('end', 'root')])
|
|
self.assertIsNone(parser.close())
|
|
|
|
+ @fails_with_expat_2_6_0
|
|
def test_simple_xml_chunk_1(self):
|
|
self.test_simple_xml(chunk_size=1, flush=True)
|
|
|
|
+ @fails_with_expat_2_6_0
|
|
def test_simple_xml_chunk_5(self):
|
|
self.test_simple_xml(chunk_size=5, flush=True)
|
|
|
|
@@ -1651,6 +1658,9 @@ class XMLPullParserTest(unittest.TestCas
|
|
|
|
self.assert_event_tags(parser, [('end', 'doc')])
|
|
|
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
|
+ f'Expat {pyexpat.version_info} does not '
|
|
+ 'support reparse deferral')
|
|
def test_flush_reparse_deferral_disabled(self):
|
|
parser = ET.XMLPullParser(events=('start', 'end'))
|
|
|
|
Index: Python-3.12.3/Lib/test/test_sax.py
|
|
===================================================================
|
|
--- Python-3.12.3.orig/Lib/test/test_sax.py
|
|
+++ Python-3.12.3/Lib/test/test_sax.py
|
|
@@ -1240,6 +1240,9 @@ class ExpatReaderTest(XmlTestBase):
|
|
|
|
self.assertEqual(result.getvalue(), start + b"<doc></doc>")
|
|
|
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
|
+ f'Expat {pyexpat.version_info} does not '
|
|
+ 'support reparse deferral')
|
|
def test_flush_reparse_deferral_disabled(self):
|
|
result = BytesIO()
|
|
xmlgen = XMLGenerator(result)
|
|
Index: Python-3.12.3/Lib/test/test_pyexpat.py
|
|
===================================================================
|
|
--- Python-3.12.3.orig/Lib/test/test_pyexpat.py
|
|
+++ Python-3.12.3/Lib/test/test_pyexpat.py
|
|
@@ -794,6 +794,10 @@ class ReparseDeferralTest(unittest.TestC
|
|
self.assertEqual(started, ['doc'])
|
|
|
|
def test_reparse_deferral_disabled(self):
|
|
+ if expat.version_info < (2, 6, 0):
|
|
+ self.skipTest(f'Expat {expat.version_info} does not '
|
|
+ 'support reparse deferral')
|
|
+
|
|
started = []
|
|
|
|
def start_element(name, _):
|