mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
Patch #1537850: tempfile.NamedTemporaryFile now has a "delete" parameter
which can be set to False to prevent the default delete-on-close behavior.
This commit is contained in:
parent
6c104f6906
commit
35ef9c19fe
5 changed files with 37 additions and 9 deletions
|
@ -561,11 +561,12 @@ test_classes.append(test_mktemp)
|
|||
class test_NamedTemporaryFile(TC):
|
||||
"""Test NamedTemporaryFile()."""
|
||||
|
||||
def do_create(self, dir=None, pre="", suf=""):
|
||||
def do_create(self, dir=None, pre="", suf="", delete=True):
|
||||
if dir is None:
|
||||
dir = tempfile.gettempdir()
|
||||
try:
|
||||
file = tempfile.NamedTemporaryFile(dir=dir, prefix=pre, suffix=suf)
|
||||
file = tempfile.NamedTemporaryFile(dir=dir, prefix=pre, suffix=suf,
|
||||
delete=delete)
|
||||
except:
|
||||
self.failOnException("NamedTemporaryFile")
|
||||
|
||||
|
@ -599,6 +600,22 @@ class test_NamedTemporaryFile(TC):
|
|||
finally:
|
||||
os.rmdir(dir)
|
||||
|
||||
def test_dis_del_on_close(self):
|
||||
# Tests that delete-on-close can be disabled
|
||||
dir = tempfile.mkdtemp()
|
||||
tmp = None
|
||||
try:
|
||||
f = tempfile.NamedTemporaryFile(dir=dir, delete=False)
|
||||
tmp = f.name
|
||||
f.write('blat')
|
||||
f.close()
|
||||
self.failUnless(os.path.exists(f.name),
|
||||
"NamedTemporaryFile %s missing after close" % f.name)
|
||||
finally:
|
||||
if tmp is not None:
|
||||
os.unlink(tmp)
|
||||
os.rmdir(dir)
|
||||
|
||||
def test_multiple_close(self):
|
||||
# A NamedTemporaryFile can be closed many times without error
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue