From d01872ccdf7e1e5e825b6c6292b43e7d27ae5fc4 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 1 Jul 2022 21:19:44 +0200 Subject: [PATCH] Prevent parse failure in new test from leaking into later test runs. --- src/lxml/tests/test_etree.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lxml/tests/test_etree.py b/src/lxml/tests/test_etree.py index 285313f6e..3e52258ed 100644 --- a/src/lxml/tests/test_etree.py +++ b/src/lxml/tests/test_etree.py @@ -1463,14 +1463,16 @@ def test_iterwalk_getiterator(self): def test_walk_after_parse_failure(self): # This used to be an issue because libxml2 can leak empty namespaces # between failed parser runs. iterwalk() failed to handle such a tree. + parser = etree.XMLParser() + try: - etree.XML('''''') + etree.XML('''''', parser=parser) except etree.XMLSyntaxError: pass else: assert False, "invalid input did not fail to parse" - et = etree.XML(''' ''') + et = etree.XML(''' ''', parser=parser) try: ns = next(etree.iterwalk(et, events=('start-ns',))) except StopIteration: