bpo-43292: Fix file leak in ET.iterparse() when not exhausted (GH-31696)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
Jacob Walls 2022-03-07 04:31:46 -05:00 committed by GitHub
parent b748a36696
commit 496c428de3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 7 deletions

View file

@ -658,6 +658,14 @@ class ElementTreeTest(unittest.TestCase):
'junk after document element: line 1, column 12')
del cm, it
# Not exhausting the iterator still closes the resource (bpo-43292)
with warnings_helper.check_no_resource_warning(self):
it = iterparse(TESTFN)
del it
with self.assertRaises(FileNotFoundError):
iterparse("nonexistent")
def test_writefile(self):
elem = ET.Element("tag")
elem.text = "text"