forked from pool/python312
- Tools/Demos
- gh-139330: SBOM generation tool didn’t cross-check the version
and checksum values against the Modules/expat/refresh.sh script,
leading to the values becoming out-of-date during routine
updates.
- Security
- gh-139700: Check consistency of the zip64 end of central
directory record. Support records with “zip64 extensible data”
if there are no bytes prepended to the ZIP file.
- gh-139400: xml.parsers.expat: Make sure that parent Expat
parsers are only garbage-collected once they are no longer
referenced by subparsers created by
ExternalEntityParserCreate(). Patch by Sebastian Pipping.
- gh-135661: Fix parsing start and end tags in
html.parser.HTMLParser according to the HTML5 standard.
* Whitespaces no longer accepted between </ and the tag name.
E.g. </ script> does not end the script section.
* Vertical tabulation (\v) and non-ASCII whitespaces no longer
recognized as whitespaces. The only whitespaces are \t\n\r\f
and space.
* Null character (U+0000) no longer ends the tag name.
* Attributes and slashes after the tag name in end tags are now
ignored, instead of terminating after the first > in quoted
attribute value. E.g. </script/foo=">"/>.
* Multiple slashes and whitespaces between the last attribute
and closing > are now ignored in both start and end tags. E.g.
<a foo=bar/ //>.
* Multiple = between attribute name and value are no longer
collapsed. E.g. <a foo==bar> produces attribute “foo” with
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=162
33 lines
1.3 KiB
Diff
33 lines
1.3 KiB
Diff
---
|
|
Lib/test/test_compile.py | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
--- a/Lib/test/test_compile.py
|
|
+++ b/Lib/test/test_compile.py
|
|
@@ -14,6 +14,9 @@ from test.support import (script_helper,
|
|
requires_specialization, C_RECURSION_LIMIT)
|
|
from test.support.os_helper import FakePath
|
|
|
|
+IS_SLE_15_6 = os.environ.get("SLE_VERSION", "") == "0150600"
|
|
+IS_32bit = hasattr(os, "uname") and os.uname().machine in ["i386", "i486", "i586", "i686"]
|
|
+
|
|
class TestSpecifics(unittest.TestCase):
|
|
|
|
def compile_single(self, source):
|
|
@@ -110,6 +113,7 @@ class TestSpecifics(unittest.TestCase):
|
|
self.assertEqual(d['z'], 12)
|
|
|
|
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
|
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
|
|
def test_extended_arg(self):
|
|
repeat = int(C_RECURSION_LIMIT * 0.9)
|
|
longexpr = 'x = x or ' + '-x' * repeat
|
|
@@ -603,6 +607,7 @@ class TestSpecifics(unittest.TestCase):
|
|
|
|
@support.cpython_only
|
|
@unittest.skipIf(support.is_wasi, "exhausts limited stack on WASI")
|
|
+ @unittest.skipIf(IS_SLE_15_6 and IS_32bit, "fails on 15.6 i586")
|
|
def test_compiler_recursion_limit(self):
|
|
# Expected limit is C_RECURSION_LIMIT * 2
|
|
# Duplicating the limit here is a little ugly.
|