diff options
author | Éric Araujo <merwok@netwok.org> | 2011-08-19 01:07:39 (GMT) |
---|---|---|
committer | Éric Araujo <merwok@netwok.org> | 2011-08-19 01:07:39 (GMT) |
commit | e7329f47e777d75a6602418f3198589828c35fce (patch) | |
tree | ff8e347615836328b741af06e8d5d3b2e783305f | |
parent | 99c4c340e6bb61966643c54b4ff3db832237203a (diff) | |
download | cpython-e7329f47e777d75a6602418f3198589828c35fce.zip cpython-e7329f47e777d75a6602418f3198589828c35fce.tar.gz cpython-e7329f47e777d75a6602418f3198589828c35fce.tar.bz2 |
Guard shutil._make_archive against a logger=None argument.
Backporting two lines from the 3.x tests was enough to trigger the bug.
I also took the opportunity of making the logging call lazy.
-rw-r--r-- | Lib/shutil.py | 3 | ||||
-rw-r--r-- | Lib/test/test_shutil.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
3 files changed, 8 insertions, 1 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py index 9d922fb..59a38fe 100644 --- a/Lib/shutil.py +++ b/Lib/shutil.py @@ -359,7 +359,8 @@ def _make_tarball(base_name, base_dir, compress="gzip", verbose=0, dry_run=0, archive_dir = os.path.dirname(archive_name) if not os.path.exists(archive_dir): - logger.info("creating %s" % archive_dir) + if logger is not None: + logger.info("creating %s", archive_dir) if not dry_run: os.makedirs(archive_dir) diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index 9f9bf45..b4e5415 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -349,6 +349,8 @@ class TestShutil(unittest.TestCase): self.write_file([tmpdir, 'sub', 'file3'], 'xxx') tmpdir2 = self.mkdtemp() + # force shutil to create the directory + os.rmdir(tmpdir2) unittest.skipUnless(splitdrive(tmpdir)[0] == splitdrive(tmpdir2)[0], "source and target should be on same drive") @@ -464,6 +466,8 @@ class TestShutil(unittest.TestCase): self.write_file([tmpdir, 'file2'], 'xxx') tmpdir2 = self.mkdtemp() + # force shutil to create the directory + os.rmdir(tmpdir2) base_name = os.path.join(tmpdir2, 'archive') _make_zipfile(base_name, tmpdir) @@ -40,6 +40,8 @@ Core and Builtins Library ------- +- Issue #9173: Let shutil._make_archive work if the logger argument is None. + - Issue #12650: Fix a race condition where a subprocess.Popen could leak resources (FD/zombie) when killed at the wrong time. |