- Tests - gh-127906: Test the limited C API in test_cppext. Patch by Victor Stinner. - gh-127906: Backport test_cext from the main branch. Patch by Victor Stinner. - gh-127637: Add tests for the dis command-line interface. Patch by Bénédikt Tran. - Security - gh-105704: When using urllib.parse.urlsplit() and urllib.parse.urlparse() host parsing would not reject domain names containing square brackets ([ and ]). Square brackets are only valid for IPv6 and IPvFuture hosts according to RFC 3986 Section 3.2.2. (CVE-2025-0938, bsc#1236705) - gh-127655: Fixed the asyncio.selector_events._SelectorSocketTransport transport not pausing writes for the protocol when the buffer reaches the high water mark when using asyncio.WriteTransport.writelines() (CVE-2024-12254, bsc#1234290). - gh-126108: Fix a possible NULL pointer dereference in PySys_AddWarnOptionUnicode(). - gh-80222: Fix bug in the folding of quoted strings when flattening an email message using a modern email policy. Previously when a quoted string was folded so that it spanned more than one line, the surrounding quotes and internal escapes would be omitted. This could theoretically be used to spoof header lines using a carefully constructed quoted string if the resulting OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=94
68 lines
2.4 KiB
Diff
68 lines
2.4 KiB
Diff
---
|
|
Lib/test/test_pyexpat.py | 4 ++++
|
|
Lib/test/test_sax.py | 3 +++
|
|
Lib/test/test_xml_etree.py | 10 ++++++++++
|
|
3 files changed, 17 insertions(+)
|
|
|
|
--- a/Lib/test/test_pyexpat.py
|
|
+++ b/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, _):
|
|
--- a/Lib/test/test_sax.py
|
|
+++ b/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)
|
|
--- a/Lib/test/test_xml_etree.py
|
|
+++ b/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'))
|
|
|