try:
file = _os.fdopen(fd, mode, bufsize)
return _TemporaryFileWrapper(file, name, delete)
- except:
+ except BaseException:
+ _os.unlink(name)
_os.close(fd)
raise
os.close = old_close
os.fdopen = old_fdopen
+ def test_bad_mode(self):
+ dir = tempfile.mkdtemp()
+ self.addCleanup(support.rmtree, dir)
+ with self.assertRaises(TypeError):
+ tempfile.NamedTemporaryFile(mode=(), dir=dir)
+ self.assertEqual(os.listdir(dir), [])
+
# How to test the mode and bufsize parameters?
test_classes.append(test_NamedTemporaryFile)
Library
-------
+- Issue #26385: Remove the file if the internal fdopen() call in
+ NamedTemporaryFile() fails. Based on patch by Silent Ghost.
+
- Issue #26309: In the "socketserver" module, shut down the request (closing
the connected socket) when verify_request() returns false. Based on patch
by Aviv Palivoda.