(Merge 3.4) Issue #18174: Fix leak of file descriptor in test_tempfile

This commit is contained in:
Victor Stinner 2014-07-29 01:15:22 +02:00
commit 6b08235a03
1 changed files with 4 additions and 0 deletions

View File

@ -762,8 +762,10 @@ class TestNamedTemporaryFile(BaseTestCase):
def test_no_leak_fd(self): def test_no_leak_fd(self):
# Issue #21058: don't leak file descriptor when io.open() fails # Issue #21058: don't leak file descriptor when io.open() fails
closed = [] closed = []
os_close = os.close
def close(fd): def close(fd):
closed.append(fd) closed.append(fd)
os_close(fd)
with mock.patch('os.close', side_effect=close): with mock.patch('os.close', side_effect=close):
with mock.patch('io.open', side_effect=ValueError): with mock.patch('io.open', side_effect=ValueError):
@ -1076,8 +1078,10 @@ if tempfile.NamedTemporaryFile is not tempfile.TemporaryFile:
def test_no_leak_fd(self): def test_no_leak_fd(self):
# Issue #21058: don't leak file descriptor when io.open() fails # Issue #21058: don't leak file descriptor when io.open() fails
closed = [] closed = []
os_close = os.close
def close(fd): def close(fd):
closed.append(fd) closed.append(fd)
os_close(fd)
with mock.patch('os.close', side_effect=close): with mock.patch('os.close', side_effect=close):
with mock.patch('io.open', side_effect=ValueError): with mock.patch('io.open', side_effect=ValueError):