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.
This commit is contained in:
parent
99c4c340e6
commit
e7329f47e7
|
@ -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)
|
archive_dir = os.path.dirname(archive_name)
|
||||||
|
|
||||||
if not os.path.exists(archive_dir):
|
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:
|
if not dry_run:
|
||||||
os.makedirs(archive_dir)
|
os.makedirs(archive_dir)
|
||||||
|
|
||||||
|
|
|
@ -349,6 +349,8 @@ class TestShutil(unittest.TestCase):
|
||||||
self.write_file([tmpdir, 'sub', 'file3'], 'xxx')
|
self.write_file([tmpdir, 'sub', 'file3'], 'xxx')
|
||||||
|
|
||||||
tmpdir2 = self.mkdtemp()
|
tmpdir2 = self.mkdtemp()
|
||||||
|
# force shutil to create the directory
|
||||||
|
os.rmdir(tmpdir2)
|
||||||
unittest.skipUnless(splitdrive(tmpdir)[0] == splitdrive(tmpdir2)[0],
|
unittest.skipUnless(splitdrive(tmpdir)[0] == splitdrive(tmpdir2)[0],
|
||||||
"source and target should be on same drive")
|
"source and target should be on same drive")
|
||||||
|
|
||||||
|
@ -464,6 +466,8 @@ class TestShutil(unittest.TestCase):
|
||||||
self.write_file([tmpdir, 'file2'], 'xxx')
|
self.write_file([tmpdir, 'file2'], 'xxx')
|
||||||
|
|
||||||
tmpdir2 = self.mkdtemp()
|
tmpdir2 = self.mkdtemp()
|
||||||
|
# force shutil to create the directory
|
||||||
|
os.rmdir(tmpdir2)
|
||||||
base_name = os.path.join(tmpdir2, 'archive')
|
base_name = os.path.join(tmpdir2, 'archive')
|
||||||
_make_zipfile(base_name, tmpdir)
|
_make_zipfile(base_name, tmpdir)
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@ Core and Builtins
|
||||||
Library
|
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
|
- Issue #12650: Fix a race condition where a subprocess.Popen could leak
|
||||||
resources (FD/zombie) when killed at the wrong time.
|
resources (FD/zombie) when killed at the wrong time.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue