]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.14] GH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time...
authorVictor Stinner <vstinner@python.org>
Wed, 4 Mar 2026 19:23:56 +0000 (20:23 +0100)
committerGitHub <noreply@github.com>
Wed, 4 Mar 2026 19:23:56 +0000 (20:23 +0100)
GH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time version, not runtime (#144740)

(cherry picked from commit 45e9343d7eed1d9e784e731cc9af853fa8649e59)

Co-authored-by: Miro HronĨok <miro@hroncok.cz>
Lib/test/test_pyexpat.py
Misc/NEWS.d/next/Tests/2026-02-12-12-12-00.gh-issue-144739.-fx1tN.rst [new file with mode: 0644]

index daeaa38a3c508557ca35873a946fe722622a5423..3e9015910e0a3b5cff8210680c7a6e7a495d27dd 100644 (file)
@@ -999,7 +999,9 @@ class AttackProtectionTestBase(abc.ABC):
         self.assert_root_parser_failure(setter, 123.45)
 
 
-@unittest.skipIf(expat.version_info < (2, 7, 2), "requires Expat >= 2.7.2")
+@unittest.skipIf(not hasattr(expat.XMLParserType,
+                             "SetAllocTrackerMaximumAmplification"),
+                 "requires Python compiled with Expat >= 2.7.2")
 class MemoryProtectionTest(AttackProtectionTestBase, unittest.TestCase):
 
     # NOTE: with the default Expat configuration, the billion laughs protection
diff --git a/Misc/NEWS.d/next/Tests/2026-02-12-12-12-00.gh-issue-144739.-fx1tN.rst b/Misc/NEWS.d/next/Tests/2026-02-12-12-12-00.gh-issue-144739.-fx1tN.rst
new file mode 100644 (file)
index 0000000..8c46ff1
--- /dev/null
@@ -0,0 +1,3 @@
+When Python was compiled with system expat older then 2.7.2 but tests run
+with newer expat, still skip
+:class:`!test.test_pyexpat.MemoryProtectionTest`.