forked from pool/python38
Accepting request 1161073 from devel:languages:python:Factory
- Add old-libexpat.patch making the test suite work with libexpat < 2.6.0 (gh#python/cpython#117187). OBS-URL: https://build.opensuse.org/request/show/1161073 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python38?expand=0&rev=47
This commit is contained in:
commit
de045a908d
79
old-libexpat.patch
Normal file
79
old-libexpat.patch
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
---
|
||||||
|
Lib/test/test_sax.py | 10 +++++-----
|
||||||
|
Lib/test/test_xml_etree.py | 17 ++++++++---------
|
||||||
|
2 files changed, 13 insertions(+), 14 deletions(-)
|
||||||
|
|
||||||
|
--- a/Lib/test/test_sax.py
|
||||||
|
+++ b/Lib/test/test_sax.py
|
||||||
|
@@ -1207,10 +1207,9 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
|
|
||||||
|
self.assertEqual(result.getvalue(), start + b"<doc>text</doc>")
|
||||||
|
|
||||||
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
||||||
|
+ "Reparse deferral not defined for libexpat < 2.6.0")
|
||||||
|
def test_flush_reparse_deferral_enabled(self):
|
||||||
|
- if pyexpat.version_info < (2, 6, 0):
|
||||||
|
- self.skipTest(f'Expat {pyexpat.version_info} does not support reparse deferral')
|
||||||
|
-
|
||||||
|
result = BytesIO()
|
||||||
|
xmlgen = XMLGenerator(result)
|
||||||
|
parser = create_parser()
|
||||||
|
@@ -1232,6 +1231,8 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
|
|
||||||
|
self.assertEqual(result.getvalue(), start + b"<doc></doc>")
|
||||||
|
|
||||||
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
||||||
|
+ "Reparse deferral not defined for libexpat < 2.6.0")
|
||||||
|
def test_flush_reparse_deferral_disabled(self):
|
||||||
|
result = BytesIO()
|
||||||
|
xmlgen = XMLGenerator(result)
|
||||||
|
@@ -1241,8 +1242,7 @@ class ExpatReaderTest(XmlTestBase):
|
||||||
|
for chunk in ("<doc", ">"):
|
||||||
|
parser.feed(chunk)
|
||||||
|
|
||||||
|
- if pyexpat.version_info >= (2, 6, 0):
|
||||||
|
- parser._parser.SetReparseDeferralEnabled(False)
|
||||||
|
+ parser._parser.SetReparseDeferralEnabled(False)
|
||||||
|
|
||||||
|
self.assertEqual(result.getvalue(), start) # i.e. no elements started
|
||||||
|
self.assertFalse(parser._parser.GetReparseDeferralEnabled())
|
||||||
|
--- a/Lib/test/test_xml_etree.py
|
||||||
|
+++ b/Lib/test/test_xml_etree.py
|
||||||
|
@@ -1494,11 +1494,9 @@ class XMLPullParserTest(unittest.TestCas
|
||||||
|
with self.assertRaises(ValueError):
|
||||||
|
ET.XMLPullParser(events=('start', 'end', 'bogus'))
|
||||||
|
|
||||||
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
||||||
|
+ "Reparse deferral not defined for libexpat < 2.6.0")
|
||||||
|
def test_flush_reparse_deferral_enabled(self):
|
||||||
|
- if pyexpat.version_info < (2, 6, 0):
|
||||||
|
- self.skipTest(f'Expat {pyexpat.version_info} does not '
|
||||||
|
- 'support reparse deferral')
|
||||||
|
-
|
||||||
|
parser = ET.XMLPullParser(events=('start', 'end'))
|
||||||
|
|
||||||
|
for chunk in ("<doc", ">"):
|
||||||
|
@@ -1519,17 +1517,18 @@ class XMLPullParserTest(unittest.TestCas
|
||||||
|
|
||||||
|
self.assert_event_tags(parser, [('end', 'doc')])
|
||||||
|
|
||||||
|
+ @unittest.skipIf(pyexpat.version_info < (2, 6, 0),
|
||||||
|
+ "Reparse deferral not defined for libexpat < 2.6.0")
|
||||||
|
def test_flush_reparse_deferral_disabled(self):
|
||||||
|
parser = ET.XMLPullParser(events=('start', 'end'))
|
||||||
|
|
||||||
|
for chunk in ("<doc", ">"):
|
||||||
|
parser.feed(chunk)
|
||||||
|
|
||||||
|
- if pyexpat.version_info >= (2, 6, 0):
|
||||||
|
- if not ET is pyET:
|
||||||
|
- self.skipTest(f'XMLParser.(Get|Set)ReparseDeferralEnabled '
|
||||||
|
- 'methods not available in C')
|
||||||
|
- parser._parser._parser.SetReparseDeferralEnabled(False)
|
||||||
|
+ if not ET is pyET:
|
||||||
|
+ self.skipTest(f'XMLParser.(Get|Set)ReparseDeferralEnabled '
|
||||||
|
+ 'methods not available in C')
|
||||||
|
+ parser._parser._parser.SetReparseDeferralEnabled(False)
|
||||||
|
|
||||||
|
self.assert_event_tags(parser, []) # i.e. no elements started
|
||||||
|
if ET is pyET:
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 24 00:43:14 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
- Add old-libexpat.patch making the test suite work with
|
||||||
|
libexpat < 2.6.0 (gh#python/cpython#117187).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 21 20:29:12 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
Thu Mar 21 20:29:12 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
@ -183,6 +183,9 @@ Patch41: 99366-patch.dict-can-decorate-async.patch
|
|||||||
# Detect email address parsing errors and return empty tuple to
|
# Detect email address parsing errors and return empty tuple to
|
||||||
# indicate the parsing error (old API), from gh#python/cpython!105127
|
# indicate the parsing error (old API), from gh#python/cpython!105127
|
||||||
Patch42: CVE-2023-27043-email-parsing-errors.patch
|
Patch42: CVE-2023-27043-email-parsing-errors.patch
|
||||||
|
# PATCH-FIX-UPSTREAM old-libexpat.patch gh#python/cpython#117187 mcepl@suse.com
|
||||||
|
# Make the test suite work with libexpat < 2.6.0
|
||||||
|
Patch43: old-libexpat.patch
|
||||||
BuildRequires: autoconf-archive
|
BuildRequires: autoconf-archive
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
@ -455,6 +458,7 @@ other applications.
|
|||||||
%patch -P 38 -p1
|
%patch -P 38 -p1
|
||||||
%patch -P 41 -p1
|
%patch -P 41 -p1
|
||||||
%patch -P 42 -p1
|
%patch -P 42 -p1
|
||||||
|
%patch -P 43 -p1
|
||||||
|
|
||||||
# drop Autoconf version requirement
|
# drop Autoconf version requirement
|
||||||
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
|
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
|
||||||
|
Loading…
Reference in New Issue
Block a user