Build a list of supported test tarfiles dynamically for CLI "test" command

tests (issue13477).
This commit is contained in:
Serhiy Storchaka 2013-11-24 02:30:59 +02:00
parent b52d8ba159
commit 5e8c8091ee
1 changed files with 6 additions and 3 deletions

View File

@ -1745,13 +1745,13 @@ class CommandLineTest(unittest.TestCase):
tf.add(tardata, arcname=os.path.basename(tardata)) tf.add(tardata, arcname=os.path.basename(tardata))
def test_test_command(self): def test_test_command(self):
for tar_name in (tarname, gzipname, bz2name, xzname): for tar_name in testtarnames:
for opt in '-t', '--test': for opt in '-t', '--test':
out = self.tarfilecmd(opt, tar_name) out = self.tarfilecmd(opt, tar_name)
self.assertEqual(out, b'') self.assertEqual(out, b'')
def test_test_command_verbose(self): def test_test_command_verbose(self):
for tar_name in (tarname, gzipname, bz2name, xzname): for tar_name in testtarnames:
for opt in '-v', '--verbose': for opt in '-v', '--verbose':
out = self.tarfilecmd(opt, '-t', tar_name) out = self.tarfilecmd(opt, '-t', tar_name)
self.assertIn(b'is a tar archive.\n', out) self.assertIn(b'is a tar archive.\n', out)
@ -1763,7 +1763,7 @@ class CommandLineTest(unittest.TestCase):
self.assertEqual(out, b'') self.assertEqual(out, b'')
self.assertEqual(rc, 1) self.assertEqual(rc, 1)
for tar_name in (tarname, gzipname, bz2name, xzname): for tar_name in testtarnames:
with self.subTest(tar_name=tar_name): with self.subTest(tar_name=tar_name):
with open(tar_name, 'rb') as f: with open(tar_name, 'rb') as f:
data = f.read() data = f.read()
@ -2015,6 +2015,8 @@ def setUpModule():
support.unlink(TEMPDIR) support.unlink(TEMPDIR)
os.makedirs(TEMPDIR) os.makedirs(TEMPDIR)
global testtarnames
testtarnames = [tarname]
with open(tarname, "rb") as fobj: with open(tarname, "rb") as fobj:
data = fobj.read() data = fobj.read()
@ -2022,6 +2024,7 @@ def setUpModule():
for c in GzipTest, Bz2Test, LzmaTest: for c in GzipTest, Bz2Test, LzmaTest:
if c.open: if c.open:
support.unlink(c.tarname) support.unlink(c.tarname)
testtarnames.append(c.tarname)
with c.open(c.tarname, "wb") as tar: with c.open(c.tarname, "wb") as tar:
tar.write(data) tar.write(data)