diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py index baa4f178427d53..c8fbeca6a60bc1 100644 --- a/Lib/test/test_pyexpat.py +++ b/Lib/test/test_pyexpat.py @@ -1095,9 +1095,11 @@ def test_error_path_no_crash(self): class ReparseDeferralTest(unittest.TestCase): + deferal_supported = expat.ParserCreate().GetReparseDeferralEnabled() + def test_getter_setter_round_trip(self): parser = expat.ParserCreate() - enabled = (expat.version_info >= (2, 6, 0)) + enabled = self.deferal_supported self.assertIs(parser.GetReparseDeferralEnabled(), enabled) parser.SetReparseDeferralEnabled(False) @@ -1106,8 +1108,8 @@ def test_getter_setter_round_trip(self): self.assertIs(parser.GetReparseDeferralEnabled(), enabled) def test_reparse_deferral_enabled(self): - if expat.version_info < (2, 6, 0): - self.skipTest(f'Expat {expat.version_info} does not ' + if not self.deferal_supported: + self.skipTest(f'Expat < 2.6.0 does not ' 'support reparse deferral') started = [] @@ -1137,7 +1139,7 @@ def start_element(name, _): parser = expat.ParserCreate() parser.StartElementHandler = start_element - if expat.version_info >= (2, 6, 0): + if self.deferal_supported: parser.SetReparseDeferralEnabled(False) self.assertFalse(parser.GetReparseDeferralEnabled()) diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py index 29babd7bf6996a..27ae6c8a953149 100644 --- a/Lib/test/test_sax.py +++ b/Lib/test/test_sax.py @@ -1216,8 +1216,8 @@ def test_expat_incremental_reset(self): self.assertEqual(result.getvalue(), start + b"text") - @unittest.skipIf(pyexpat.version_info < (2, 6, 0), - f'Expat {pyexpat.version_info} does not ' + @unittest.skipIf(not pyexpat.ParserCreate().GetReparseDeferralEnabled(), + 'Python compiled with Expat < 2.6.0 does not ' 'support reparse deferral') def test_flush_reparse_deferral_enabled(self): result = BytesIO() diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py index 0c944516ae115f..df2815a71e5fc2 100644 --- a/Lib/test/test_xml_etree.py +++ b/Lib/test/test_xml_etree.py @@ -1915,8 +1915,8 @@ def test_unknown_event(self): with self.assertRaisesRegex(ValueError, "unknown event 'bogus'"): ET.XMLPullParser(events=(x.decode() for x in (b'start', b'end', b'bogus'))) - @unittest.skipIf(pyexpat.version_info < (2, 6, 0), - f'Expat {pyexpat.version_info} does not ' + @unittest.skipIf(not pyexpat.ParserCreate().GetReparseDeferralEnabled(), + 'Python compiled with Expat < 2.6.0 does not ' 'support reparse deferral') def test_flush_reparse_deferral_enabled(self): parser = ET.XMLPullParser(events=('start', 'end'))