summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-06-26 23:39:53 (GMT)
committerGitHub <noreply@github.com>2019-06-26 23:39:53 (GMT)
commit4c26abd14f1b7242998eb2f7756aa375e0fe714f (patch)
tree225f25e2989c063f9a34119748120d1e803ce44c
parent06a8916cf465f139dca958685b0da899364b8a8c (diff)
downloadcpython-4c26abd14f1b7242998eb2f7756aa375e0fe714f.zip
cpython-4c26abd14f1b7242998eb2f7756aa375e0fe714f.tar.gz
cpython-4c26abd14f1b7242998eb2f7756aa375e0fe714f.tar.bz2
bpo-37421: Fix test_shutil: don't leak temporary files (GH-14416)
* Fix typo in supports_file2file_sendfile(); ensure that dst is removed * Fix test_copytree_custom_copy_function(): remove dst tree. Use support.rmtree() rather than shutil.rmtree() to remove temporary directories: support tries harder.
-rw-r--r--Lib/test/test_shutil.py5
-rw-r--r--Misc/NEWS.d/next/Tests/2019-06-27-00-37-59.bpo-37421.rVJb3x.rst1
2 files changed, 4 insertions, 2 deletions
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index 208718b..e209607 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -124,7 +124,7 @@ def supports_file2file_sendfile():
with open(srcname, "rb") as src:
with tempfile.NamedTemporaryFile("wb", delete=False) as dst:
- dstname = f.name
+ dstname = dst.name
infd = src.fileno()
outfd = dst.fileno()
try:
@@ -878,8 +878,9 @@ class TestShutil(unittest.TestCase):
flag = []
src = tempfile.mkdtemp()
+ self.addCleanup(support.rmtree, src)
dst = tempfile.mktemp()
- self.addCleanup(shutil.rmtree, src)
+ self.addCleanup(support.rmtree, dst)
with open(os.path.join(src, 'foo'), 'w') as f:
f.close()
shutil.copytree(src, dst, copy_function=custom_cpfun)
diff --git a/Misc/NEWS.d/next/Tests/2019-06-27-00-37-59.bpo-37421.rVJb3x.rst b/Misc/NEWS.d/next/Tests/2019-06-27-00-37-59.bpo-37421.rVJb3x.rst
new file mode 100644
index 0000000..9f40338
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/2019-06-27-00-37-59.bpo-37421.rVJb3x.rst
@@ -0,0 +1 @@
+Fix test_shutil to no longer leak temporary files.