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..eb4be20cbfba03c7a5fea830646fe19c28b5b0e6 --- /dev/null +++ b/Fix-test_elementtree-with-Expat-2.6.0.patch @@ -0,0 +1,92 @@ +From e3012a702dea2b03830fe00a5e8f7a429bbc3f42 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 8ccf444..ef923c5 100644 +--- a/src/lxml/tests/test_elementtree.py ++++ b/src/lxml/tests/test_elementtree.py +@@ -10,6 +10,7 @@ import copy + import io + import operator + import os ++import pyexpat + import re + import sys + import textwrap +@@ -4383,29 +4384,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.43.0 + diff --git a/python-lxml.spec b/python-lxml.spec index c47f09db6e8c6608ff91b96e2288beee3d25a2eb..429bc185aba865f040e4ac615fd30f5f5554031e 100644 --- a/python-lxml.spec +++ b/python-lxml.spec @@ -7,13 +7,14 @@ The latest release works with all CPython versions from 2.7 to 3.7. Name: python-lxml Version: 5.1.0 -Release: 1 +Release: 2 Summary: XML processing library combining libxml2/libxslt with the ElementTree API License: BSD URL: https://github.com/lxml/lxml Source0: https://files.pythonhosted.org/packages/2b/b4/bbccb250adbee490553b6a52712c46c20ea1ba533a643f1424b27ffc6845/lxml-5.1.0.tar.gz Patch0: Skip-failing-test_iterparse_utf16_bom.patch +Patch1: Fix-test_elementtree-with-Expat-2.6.0.patch %description %{_description} @@ -77,6 +78,9 @@ make test %doc README.rst src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt %changelog +* Tue Apr 23 2024 zhangzikang - 5.1.0-2 +- Fix test_elementtree with Expat-2.6.0, resolve check error + * Wed Feb 07 2024 dongyuzhen - 5.1.0-1 - upgrade version to 5.1.0: - some incorrect declarations were removed from ``python.pxd``