Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h.
This commit is contained in:
parent
22ef9f722e
commit
832dd5f0d6
|
@ -2491,16 +2491,16 @@ def main():
|
|||
_, ext = os.path.splitext(tar_name)
|
||||
compressions = {
|
||||
# gz
|
||||
'gz': 'gz',
|
||||
'tgz': 'gz',
|
||||
'.gz': 'gz',
|
||||
'.tgz': 'gz',
|
||||
# xz
|
||||
'xz': 'xz',
|
||||
'txz': 'xz',
|
||||
'.xz': 'xz',
|
||||
'.txz': 'xz',
|
||||
# bz2
|
||||
'bz2': 'bz2',
|
||||
'tbz': 'bz2',
|
||||
'tbz2': 'bz2',
|
||||
'tb2': 'bz2',
|
||||
'.bz2': 'bz2',
|
||||
'.tbz': 'bz2',
|
||||
'.tbz2': 'bz2',
|
||||
'.tb2': 'bz2',
|
||||
}
|
||||
tar_mode = 'w:' + compressions[ext] if ext in compressions else 'w'
|
||||
tar_files = args.create
|
||||
|
|
|
@ -1994,6 +1994,21 @@ class CommandLineTest(unittest.TestCase):
|
|||
finally:
|
||||
support.unlink(tar_name)
|
||||
|
||||
def test_create_command_compressed(self):
|
||||
files = [support.findfile('tokenize_tests.txt'),
|
||||
support.findfile('tokenize_tests-no-coding-cookie-'
|
||||
'and-utf8-bom-sig-only.txt')]
|
||||
for filetype in (GzipTest, Bz2Test, LzmaTest):
|
||||
if not filetype.open:
|
||||
continue
|
||||
try:
|
||||
tar_name = tmpname + '.' + filetype.suffix
|
||||
out = self.tarfilecmd('-c', tar_name, *files)
|
||||
with filetype.taropen(tar_name) as tar:
|
||||
tar.getmembers()
|
||||
finally:
|
||||
support.unlink(tar_name)
|
||||
|
||||
def test_extract_command(self):
|
||||
self.make_simple_tarfile(tmpname)
|
||||
for opt in '-e', '--extract':
|
||||
|
|
Loading…
Reference in New Issue