summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatěj Cepl <mcepl@cepl.eu>2022-12-07 06:55:49 (GMT)
committerGitHub <noreply@github.com>2022-12-07 06:55:49 (GMT)
commit7031275776f43c76231318c2158a7a2753bc1fba (patch)
treed0733d6f1bb5b32f003b1515134427bcb1d4b523
parent889b0b9bf95651fc05ad532cc4a66c0f8ff29fc2 (diff)
downloadcpython-7031275776f43c76231318c2158a7a2753bc1fba.zip
cpython-7031275776f43c76231318c2158a7a2753bc1fba.tar.gz
cpython-7031275776f43c76231318c2158a7a2753bc1fba.tar.bz2
gh-93018: Fix for the compatibility problems with expat (gh-93900)
-rw-r--r--Lib/test/test_minidom.py24
-rw-r--r--Misc/NEWS.d/next/Tests/2022-06-16-13-26-31.gh-issue-93018.wvNx76.rst1
2 files changed, 10 insertions, 15 deletions
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index ef38c36..2ca3908 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -1163,14 +1163,10 @@ class MinidomTest(unittest.TestCase):
# Verify that character decoding errors raise exceptions instead
# of crashing
- if pyexpat.version_info >= (2, 4, 5):
- self.assertRaises(ExpatError, parseString,
- b'<fran\xe7ais></fran\xe7ais>')
- self.assertRaises(ExpatError, parseString,
- b'<franais>Comment \xe7a va ? Tr\xe8s bien ?</franais>')
- else:
- self.assertRaises(UnicodeDecodeError, parseString,
- b'<fran\xe7ais>Comment \xe7a va ? Tr\xe8s bien ?</fran\xe7ais>')
+ with self.assertRaises((UnicodeDecodeError, ExpatError)):
+ parseString(
+ b'<fran\xe7ais>Comment \xe7a va ? Tr\xe8s bien ?</fran\xe7ais>'
+ )
doc.unlink()
@@ -1631,13 +1627,11 @@ class MinidomTest(unittest.TestCase):
self.confirm(doc2.namespaceURI == xml.dom.EMPTY_NAMESPACE)
def testExceptionOnSpacesInXMLNSValue(self):
- if pyexpat.version_info >= (2, 4, 5):
- context = self.assertRaisesRegex(ExpatError, 'syntax error')
- else:
- context = self.assertRaisesRegex(ValueError, 'Unsupported syntax')
-
- with context:
- parseString('<element xmlns:abc="http:abc.com/de f g/hi/j k"><abc:foo /></element>')
+ with self.assertRaises((ValueError, ExpatError)):
+ parseString(
+ '<element xmlns:abc="http:abc.com/de f g/hi/j k">' +
+ '<abc:foo /></element>'
+ )
def testDocRemoveChild(self):
doc = parse(tstfile)
diff --git a/Misc/NEWS.d/next/Tests/2022-06-16-13-26-31.gh-issue-93018.wvNx76.rst b/Misc/NEWS.d/next/Tests/2022-06-16-13-26-31.gh-issue-93018.wvNx76.rst
new file mode 100644
index 0000000..a8fb980
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2022-06-16-13-26-31.gh-issue-93018.wvNx76.rst
@@ -0,0 +1 @@
+Make two tests forgiving towards host system libexpat with backported security fixes applied.