forked from pool/python312
Matej Cepl
7a215a300e
- Security - gh-118486: os.mkdir() on Windows now accepts mode of 0o700 to restrict the new directory to the current user. This fixes CVE-2024-4030 affecting tempfile.mkdtemp() in scenarios where the base temporary directory is more permissive than the default. - gh-116741: Update bundled libexpat to 2.6.2 - gh-117233: Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the OpenSSL-ish libcrypto library at build time. This allows hashlib to be used with libraries that do not to support every algorithm that upstream OpenSSL does. - Core and Builtins - gh-119821: Fix execution of annotation scopes within classes when globals is set to a non-dict. Patch by Jelle Zijlstra. - gh-118263: Speed up os.path.normpath() with a direct C call. - gh-119311: Fix bug where names are unexpectedly mangled in the bases of generic classes. - gh-119395: Fix bug where names appearing after a generic class are mangled as if they are in the generic class. - gh-118507: Fix os.path.isfile() on Windows for pipes. - gh-119213: Non-builtin modules built with argument clinic were crashing if used in a subinterpreter before the main interpreter. The objects that were causing the problem by leaking between interpreters carelessly have been fixed. - gh-119011: Fixes type.__type_params__ to return an empty tuple instead of a descriptor. - gh-118997: Fix _Py_ClearImmortal() assertion: use OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=47
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, _):
|