Skip to content

Commit a69fda5

Browse files
committed
Skip more pyexpat tests based on compile-time expat version, not runtime
This is a followup for GH-144739 and GH-155485
1 parent b11e749 commit a69fda5

3 files changed

Lines changed: 10 additions & 8 deletions

File tree

Lib/test/test_pyexpat.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1095,9 +1095,11 @@ def test_error_path_no_crash(self):
10951095

10961096

10971097
class ReparseDeferralTest(unittest.TestCase):
1098+
deferal_supported = expat.ParserCreate().GetReparseDeferralEnabled()
1099+
10981100
def test_getter_setter_round_trip(self):
10991101
parser = expat.ParserCreate()
1100-
enabled = (expat.version_info >= (2, 6, 0))
1102+
enabled = self.deferal_supported
11011103

11021104
self.assertIs(parser.GetReparseDeferralEnabled(), enabled)
11031105
parser.SetReparseDeferralEnabled(False)
@@ -1106,8 +1108,8 @@ def test_getter_setter_round_trip(self):
11061108
self.assertIs(parser.GetReparseDeferralEnabled(), enabled)
11071109

11081110
def test_reparse_deferral_enabled(self):
1109-
if expat.version_info < (2, 6, 0):
1110-
self.skipTest(f'Expat {expat.version_info} does not '
1111+
if not self.deferal_supported:
1112+
self.skipTest(f'Expat < 2.6.0 does not '
11111113
'support reparse deferral')
11121114

11131115
started = []
@@ -1137,7 +1139,7 @@ def start_element(name, _):
11371139

11381140
parser = expat.ParserCreate()
11391141
parser.StartElementHandler = start_element
1140-
if expat.version_info >= (2, 6, 0):
1142+
if self.deferal_supported:
11411143
parser.SetReparseDeferralEnabled(False)
11421144
self.assertFalse(parser.GetReparseDeferralEnabled())
11431145

Lib/test/test_sax.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,8 +1216,8 @@ def test_expat_incremental_reset(self):
12161216

12171217
self.assertEqual(result.getvalue(), start + b"<doc>text</doc>")
12181218

1219-
@unittest.skipIf(pyexpat.version_info < (2, 6, 0),
1220-
f'Expat {pyexpat.version_info} does not '
1219+
@unittest.skipIf(not pyexpat.ParserCreate().GetReparseDeferralEnabled(),
1220+
'Python compiled with Expat < 2.6.0 does not '
12211221
'support reparse deferral')
12221222
def test_flush_reparse_deferral_enabled(self):
12231223
result = BytesIO()

Lib/test/test_xml_etree.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1915,8 +1915,8 @@ def test_unknown_event(self):
19151915
with self.assertRaisesRegex(ValueError, "unknown event 'bogus'"):
19161916
ET.XMLPullParser(events=(x.decode() for x in (b'start', b'end', b'bogus')))
19171917

1918-
@unittest.skipIf(pyexpat.version_info < (2, 6, 0),
1919-
f'Expat {pyexpat.version_info} does not '
1918+
@unittest.skipIf(not pyexpat.ParserCreate().GetReparseDeferralEnabled(),
1919+
'Python compiled with Expat < 2.6.0 does not '
19201920
'support reparse deferral')
19211921
def test_flush_reparse_deferral_enabled(self):
19221922
parser = ET.XMLPullParser(events=('start', 'end'))

0 commit comments

Comments
 (0)