You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
3.2 KiB
78 lines
3.2 KiB
5 months ago
|
From c9364e8727ea2426519a74593ab03ebcb0da72b8 Mon Sep 17 00:00:00 2001
|
||
|
From: Lumir Balhar <lbalhar@redhat.com>
|
||
|
Date: Fri, 3 May 2024 14:17:48 +0200
|
||
|
Subject: [PATCH] Expect failures in tests not working properly with expat with
|
||
|
a fixed CVE in RHEL
|
||
|
|
||
|
---
|
||
|
Lib/test/test_xml_etree.py | 53 ++++++++++++++++++++++----------------
|
||
|
1 file changed, 31 insertions(+), 22 deletions(-)
|
||
|
|
||
|
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
|
||
|
index 7c346f2..24e0bb8 100644
|
||
|
--- a/Lib/test/test_xml_etree.py
|
||
|
+++ b/Lib/test/test_xml_etree.py
|
||
|
@@ -1391,28 +1391,37 @@ class XMLPullParserTest(unittest.TestCase):
|
||
|
self.assertEqual([(action, elem.tag) for action, elem in events],
|
||
|
expected)
|
||
|
|
||
|
- def test_simple_xml(self):
|
||
|
- for chunk_size in (None, 1, 5):
|
||
|
- with self.subTest(chunk_size=chunk_size):
|
||
|
- parser = ET.XMLPullParser()
|
||
|
- self.assert_event_tags(parser, [])
|
||
|
- self._feed(parser, "<!-- comment -->\n", chunk_size)
|
||
|
- self.assert_event_tags(parser, [])
|
||
|
- self._feed(parser,
|
||
|
- "<root>\n <element key='value'>text</element",
|
||
|
- chunk_size)
|
||
|
- self.assert_event_tags(parser, [])
|
||
|
- self._feed(parser, ">\n", chunk_size)
|
||
|
- self.assert_event_tags(parser, [('end', 'element')])
|
||
|
- self._feed(parser, "<element>text</element>tail\n", chunk_size)
|
||
|
- self._feed(parser, "<empty-element/>\n", chunk_size)
|
||
|
- self.assert_event_tags(parser, [
|
||
|
- ('end', 'element'),
|
||
|
- ('end', 'empty-element'),
|
||
|
- ])
|
||
|
- self._feed(parser, "</root>\n", chunk_size)
|
||
|
- self.assert_event_tags(parser, [('end', 'root')])
|
||
|
- self.assertIsNone(parser.close())
|
||
|
+ def test_simple_xml(self, chunk_size=None):
|
||
|
+ parser = ET.XMLPullParser()
|
||
|
+ self.assert_event_tags(parser, [])
|
||
|
+ self._feed(parser, "<!-- comment -->\n", chunk_size)
|
||
|
+ self.assert_event_tags(parser, [])
|
||
|
+ self._feed(parser,
|
||
|
+ "<root>\n <element key='value'>text</element",
|
||
|
+ chunk_size)
|
||
|
+ self.assert_event_tags(parser, [])
|
||
|
+ self._feed(parser, ">\n", chunk_size)
|
||
|
+ self.assert_event_tags(parser, [('end', 'element')])
|
||
|
+ self._feed(parser, "<element>text</element>tail\n", chunk_size)
|
||
|
+ self._feed(parser, "<empty-element/>\n", chunk_size)
|
||
|
+ self.assert_event_tags(parser, [
|
||
|
+ ('end', 'element'),
|
||
|
+ ('end', 'empty-element'),
|
||
|
+ ])
|
||
|
+ self._feed(parser, "</root>\n", chunk_size)
|
||
|
+ self.assert_event_tags(parser, [('end', 'root')])
|
||
|
+ self.assertIsNone(parser.close())
|
||
|
+
|
||
|
+ @unittest.expectedFailure
|
||
|
+ def test_simple_xml_chunk_1(self):
|
||
|
+ self.test_simple_xml(chunk_size=1)
|
||
|
+
|
||
|
+ @unittest.expectedFailure
|
||
|
+ def test_simple_xml_chunk_5(self):
|
||
|
+ self.test_simple_xml(chunk_size=5)
|
||
|
+
|
||
|
+ def test_simple_xml_chunk_22(self):
|
||
|
+ self.test_simple_xml(chunk_size=22)
|
||
|
|
||
|
def test_feed_while_iterating(self):
|
||
|
parser = ET.XMLPullParser()
|
||
|
--
|
||
|
2.45.0
|
||
|
|