Skip to content

Commit 2261381

Browse files
committed
fixup! Skip more pyexpat tests based on compile-time expat version, not runtime
1 parent a69fda5 commit 2261381

1 file changed

Lines changed: 8 additions & 5 deletions

File tree

Lib/test/test_pyexpat.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
from xml.parsers.expat import errors
2020

2121

22+
# pyexpat built with expat 2.6.0+ has support for reparse deferral
23+
# and defaults to enabled
24+
HAS_REPARSE_DEFERRAL = expat.ParserCreate().GetReparseDeferralEnabled()
25+
26+
2227
class SetAttributeTest(unittest.TestCase):
2328
def setUp(self):
2429
self.parser = expat.ParserCreate(namespace_separator='!')
@@ -1095,11 +1100,9 @@ def test_error_path_no_crash(self):
10951100

10961101

10971102
class ReparseDeferralTest(unittest.TestCase):
1098-
deferal_supported = expat.ParserCreate().GetReparseDeferralEnabled()
1099-
11001103
def test_getter_setter_round_trip(self):
11011104
parser = expat.ParserCreate()
1102-
enabled = self.deferal_supported
1105+
enabled = HAS_REPARSE_DEFERRAL
11031106

11041107
self.assertIs(parser.GetReparseDeferralEnabled(), enabled)
11051108
parser.SetReparseDeferralEnabled(False)
@@ -1108,7 +1111,7 @@ def test_getter_setter_round_trip(self):
11081111
self.assertIs(parser.GetReparseDeferralEnabled(), enabled)
11091112

11101113
def test_reparse_deferral_enabled(self):
1111-
if not self.deferal_supported:
1114+
if not HAS_REPARSE_DEFERRAL:
11121115
self.skipTest(f'Expat < 2.6.0 does not '
11131116
'support reparse deferral')
11141117

@@ -1139,7 +1142,7 @@ def start_element(name, _):
11391142

11401143
parser = expat.ParserCreate()
11411144
parser.StartElementHandler = start_element
1142-
if self.deferal_supported:
1145+
if HAS_REPARSE_DEFERRAL:
11431146
parser.SetReparseDeferralEnabled(False)
11441147
self.assertFalse(parser.GetReparseDeferralEnabled())
11451148

0 commit comments

Comments
 (0)