From: Victor Stinner Date: Wed, 4 Mar 2026 19:23:56 +0000 (+0100) Subject: [3.14] GH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time... X-Git-Tag: v3.14.4~209 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bcc2dd8d30eb20995186c756bdcd10a56a1bad1c;p=thirdparty%2FPython%2Fcpython.git [3.14] GH-144739: Skip test_pyexpat.MemoryProtectionTest based on expat compile-time version, not runtime (#144740) (#145494) 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 --- diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py index daeaa38a3c50..3e9015910e0a 100644 --- a/Lib/test/test_pyexpat.py +++ b/Lib/test/test_pyexpat.py @@ -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 index 000000000000..8c46ff133f94 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/2026-02-12-12-12-00.gh-issue-144739.-fx1tN.rst @@ -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`.