Skip to content

Commit 6b5cdcf

Browse files
committed
gh-158166: Make ElementTree ParseError messages strings
1 parent c1af94a commit 6b5cdcf

2 files changed

Lines changed: 6 additions & 1 deletion

File tree

‎Lib/test/test_xml_etree.py‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1324,6 +1324,11 @@ def test_parse_error_after_chunk_boundary(self):
13241324
ET.fromstring('<r>%s<</r>' % ('x' * size))
13251325
self.assertEqual(cm.exception.position, (1, size + 4))
13261326

1327+
def test_parse_error_msg_is_string(self):
1328+
with self.assertRaises(ET.ParseError) as cm:
1329+
ET.XML("<")
1330+
self.assertIsInstance(cm.exception.msg, str)
1331+
self.assertEqual(cm.exception.msg, "unclosed token: line 1, column 0")
13271332

13281333
@support.subTests('sample,exception', [
13291334
(b'<x> \xa1</x>', UnicodeDecodeError), # crashed

‎Lib/xml/etree/ElementTree.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1709,7 +1709,7 @@ def handler(pi_target, data, event=event_name, append=append,
17091709
raise ValueError("unknown event %r" % event_name)
17101710

17111711
def _raiseerror(self, value):
1712-
err = ParseError(value)
1712+
err = ParseError(str(value))
17131713
err.code = value.code
17141714
err.position = value.lineno, value.offset
17151715
raise err

0 commit comments

Comments
 (0)