Commit 0ecf462b authored by Serhiy Storchaka's avatar Serhiy Storchaka

Explicitly test archive name in shutil.make_archive() tests to expose failure

details in issue25018.
parent baf9ef96
...@@ -385,10 +385,10 @@ class TestShutil(unittest.TestCase): ...@@ -385,10 +385,10 @@ class TestShutil(unittest.TestCase):
base_name = os.path.join(tmpdir2, 'archive') base_name = os.path.join(tmpdir2, 'archive')
# working with relative paths to avoid tar warnings # working with relative paths to avoid tar warnings
make_archive(splitdrive(base_name)[1], 'gztar', root_dir, '.') tarball = make_archive(splitdrive(base_name)[1], 'gztar', root_dir, '.')
# check if the compressed tarball was created # check if the compressed tarball was created
tarball = base_name + '.tar.gz' self.assertEqual(tarball, base_name + '.tar.gz')
self.assertTrue(os.path.isfile(tarball)) self.assertTrue(os.path.isfile(tarball))
self.assertTrue(tarfile.is_tarfile(tarball)) self.assertTrue(tarfile.is_tarfile(tarball))
with tarfile.open(tarball, 'r:gz') as tf: with tarfile.open(tarball, 'r:gz') as tf:
...@@ -397,9 +397,8 @@ class TestShutil(unittest.TestCase): ...@@ -397,9 +397,8 @@ class TestShutil(unittest.TestCase):
'./sub', './sub/file3', './sub2']) './sub', './sub/file3', './sub2'])
# trying an uncompressed one # trying an uncompressed one
base_name = os.path.join(tmpdir2, 'archive') tarball = make_archive(splitdrive(base_name)[1], 'tar', root_dir, '.')
make_archive(splitdrive(base_name)[1], 'tar', root_dir, '.') self.assertEqual(tarball, base_name + '.tar')
tarball = base_name + '.tar'
self.assertTrue(os.path.isfile(tarball)) self.assertTrue(os.path.isfile(tarball))
self.assertTrue(tarfile.is_tarfile(tarball)) self.assertTrue(tarfile.is_tarfile(tarball))
with tarfile.open(tarball, 'r') as tf: with tarfile.open(tarball, 'r') as tf:
...@@ -434,10 +433,10 @@ class TestShutil(unittest.TestCase): ...@@ -434,10 +433,10 @@ class TestShutil(unittest.TestCase):
def test_tarfile_vs_tar(self): def test_tarfile_vs_tar(self):
root_dir, base_dir = self._create_files() root_dir, base_dir = self._create_files()
base_name = os.path.join(self.mkdtemp(), 'archive') base_name = os.path.join(self.mkdtemp(), 'archive')
make_archive(base_name, 'gztar', root_dir, base_dir) tarball = make_archive(base_name, 'gztar', root_dir, base_dir)
# check if the compressed tarball was created # check if the compressed tarball was created
tarball = base_name + '.tar.gz' self.assertEqual(tarball, base_name + '.tar.gz')
self.assertTrue(os.path.isfile(tarball)) self.assertTrue(os.path.isfile(tarball))
# now create another tarball using `tar` # now create another tarball using `tar`
...@@ -451,13 +450,14 @@ class TestShutil(unittest.TestCase): ...@@ -451,13 +450,14 @@ class TestShutil(unittest.TestCase):
self.assertEqual(self._tarinfo(tarball), self._tarinfo(tarball2)) self.assertEqual(self._tarinfo(tarball), self._tarinfo(tarball2))
# trying an uncompressed one # trying an uncompressed one
make_archive(base_name, 'tar', root_dir, base_dir) tarball = make_archive(base_name, 'tar', root_dir, base_dir)
tarball = base_name + '.tar' self.assertEqual(tarball, base_name + '.tar')
self.assertTrue(os.path.isfile(tarball)) self.assertTrue(os.path.isfile(tarball))
# now for a dry_run # now for a dry_run
make_archive(base_name, 'tar', root_dir, base_dir, dry_run=True) tarball = make_archive(base_name, 'tar', root_dir, base_dir,
tarball = base_name + '.tar' dry_run=True)
self.assertEqual(tarball, base_name + '.tar')
self.assertTrue(os.path.isfile(tarball)) self.assertTrue(os.path.isfile(tarball))
@unittest.skipUnless(zlib, "Requires zlib") @unittest.skipUnless(zlib, "Requires zlib")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment