[Python-checkins] bpo-37421: Fix test_shutil: don't leak temporary files (GH-14416)

Miss Islington (bot) webhook-mailer at python.org
Wed Jun 26 19:57:53 EDT 2019


https://github.com/python/cpython/commit/7fe81ce47ff6725e2e4d667d499e23dac19834af
commit: 7fe81ce47ff6725e2e4d667d499e23dac19834af
branch: 3.8
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2019-06-26T16:57:49-07:00
summary:

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.
(cherry picked from commit 4c26abd14f1b7242998eb2f7756aa375e0fe714f)

Co-authored-by: Victor Stinner <vstinner at redhat.com>

files:
A Misc/NEWS.d/next/Tests/2019-06-27-00-37-59.bpo-37421.rVJb3x.rst
M Lib/test/test_shutil.py

diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index 208718bb1281..e209607f22c1 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 @@ def custom_cpfun(a, b):
 
         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 000000000000..9f4033831d68
--- /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.



More information about the Python-checkins mailing list