diff --git a/Fix-test_elementtree-with-Expat-2.6.0.patch b/Fix-test_elementtree-with-Expat-2.6.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..9b2d41f72ca934850cee0c2bf9b85ee8c26be01c --- /dev/null +++ b/Fix-test_elementtree-with-Expat-2.6.0.patch @@ -0,0 +1,92 @@ +From 53c4b5f15434500a0200fe63bacf19f884f843ba Mon Sep 17 00:00:00 2001 +From: Serhiy Storchaka +Date: Mon, 22 Apr 2024 16:52:26 +0800 +Subject: [PATCH] Fix test_elementtree with Expat 2.6.0 + +--- + src/lxml/tests/test_elementtree.py | 62 +++++++++++++++++++----------- + 1 file changed, 39 insertions(+), 23 deletions(-) + +diff --git a/src/lxml/tests/test_elementtree.py b/src/lxml/tests/test_elementtree.py +index 96426cb..b383b1b 100644 +--- a/src/lxml/tests/test_elementtree.py ++++ b/src/lxml/tests/test_elementtree.py +@@ -14,6 +14,7 @@ import copy + import io + import operator + import os ++import pyexpat + import re + import sys + import textwrap +@@ -4396,29 +4397,44 @@ 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 = self.etree.XMLPullParser() +- self.assert_event_tags(parser, []) +- self._feed(parser, "\n", chunk_size) +- self.assert_event_tags(parser, []) +- self._feed(parser, +- "\n text\n", chunk_size) +- self.assert_event_tags(parser, [('end', 'element')]) +- self._feed(parser, "texttail\n", chunk_size) +- self._feed(parser, "\n", chunk_size) +- self.assert_event_tags(parser, [ +- ('end', 'element'), +- ('end', 'empty-element'), +- ]) +- self._feed(parser, "\n", chunk_size) +- self.assert_event_tags(parser, [('end', 'root')]) +- root = self._close_and_return_root(parser) +- self.assertEqual(root.tag, 'root') ++ def test_simple_xml(self, chunk_size=None): ++ parser = self.etree.XMLPullParser() ++ self.assert_event_tags(parser, []) ++ self._feed(parser, "\n", chunk_size) ++ self.assert_event_tags(parser, []) ++ self._feed(parser, ++ "\n text\n", chunk_size) ++ self.assert_event_tags(parser, [('end', 'element')]) ++ self._feed(parser, "texttail\n", chunk_size) ++ self._feed(parser, "\n", chunk_size) ++ self.assert_event_tags(parser, [ ++ ('end', 'element'), ++ ('end', 'empty-element'), ++ ]) ++ self._feed(parser, "\n", chunk_size) ++ self.assert_event_tags(parser, [('end', 'root')]) ++ root = self._close_and_return_root(parser) ++ self.assertEqual(root.tag, 'root') ++ ++ def test_simple_xml_chunk_1(self): ++ if self.etree is not etree and pyexpat.version_info >= (2, 6, 0): ++ raise unittest.SkipTest( ++ "Feeding the parser by too small chunks defers parsing" ++ ) ++ self.test_simple_xml(chunk_size=1) ++ ++ def test_simple_xml_chunk_5(self): ++ if self.etree is not etree and pyexpat.version_info >= (2, 6, 0): ++ raise unittest.SkipTest( ++ "Feeding the parser by too small chunks defers parsing" ++ ) ++ 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 = self.etree.XMLPullParser() +-- +2.45.2.1 + diff --git a/python-lxml.spec b/python-lxml.spec index e091313c405a9a3cf8c77c250a9d612f28523f30..899d0870f0b364e3e02948396d74b6d1e3834125 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -1,7 +1,7 @@ Summary: XML processing library combining libxml2/libxslt with the ElementTree API Name: python-lxml Version: 4.9.3 -Release: 4%{?dist} +Release: 5%{?dist} License: BSD and MIT and zlib URL: https://github.com/lxml/lxml Source0: https://files.pythonhosted.org/packages/source/l/lxml/lxml-%{version}.tar.gz @@ -13,6 +13,7 @@ Patch0004: https://github.com/lxml/lxml/commit/a03a4b3c6b906d33c5ef1a15f3d5 Patch0005: backport-Change-HTML-prefix-handling-in-ElementPath-to-let-el.patch Patch3000: Skip-failing-test_iterparse_utf16_bom.patch +Patch3001: Fix-test_elementtree-with-Expat-2.6.0.patch BuildRequires: gcc BuildRequires: libxml2-devel libxslt-devel @@ -59,6 +60,10 @@ cp -a build/lib.%{python3_platform}-*/* src/ %{python3_sitearch}/lxml-*.egg-info/ %changelog +* Mon Jul 15 2024 Jiaxin Yang - 4.9.3-5 +- [Type] other +- [DESC] fix test_elementtree with Expat 2.6.0 + * Fri Dec 29 2023 Shuo Wang - 4.9.3-4 - fix test fail when libxml2 update to 2.11.4