mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Patch #918101: Add tarfile open mode r|* for auto-detection of the
stream compression; add, for symmetry reasons, r:* as a synonym of r.
This commit is contained in:
parent
409d8f2ebd
commit
78be7df9e4
4 changed files with 97 additions and 32 deletions
|
@ -181,6 +181,18 @@ class ReadStreamTest(ReadTest):
|
|||
|
||||
stream.close()
|
||||
|
||||
class ReadAsteriskTest(ReadTest):
|
||||
|
||||
def setUp(self):
|
||||
mode = self.mode + self.sep + "*"
|
||||
self.tar = tarfile.open(tarname(self.comp), mode)
|
||||
|
||||
class ReadStreamAsteriskTest(ReadStreamTest):
|
||||
|
||||
def setUp(self):
|
||||
mode = self.mode + self.sep + "*"
|
||||
self.tar = tarfile.open(tarname(self.comp), mode)
|
||||
|
||||
class WriteTest(BaseTest):
|
||||
mode = 'w'
|
||||
|
||||
|
@ -336,6 +348,11 @@ class WriteTestGzip(WriteTest):
|
|||
comp = "gz"
|
||||
class WriteStreamTestGzip(WriteStreamTest):
|
||||
comp = "gz"
|
||||
class ReadAsteriskTestGzip(ReadAsteriskTest):
|
||||
comp = "gz"
|
||||
class ReadStreamAsteriskTestGzip(ReadStreamAsteriskTest):
|
||||
comp = "gz"
|
||||
|
||||
|
||||
# Filemode test cases
|
||||
|
||||
|
@ -355,6 +372,10 @@ if bz2:
|
|||
comp = "bz2"
|
||||
class WriteStreamTestBzip2(WriteStreamTestGzip):
|
||||
comp = "bz2"
|
||||
class ReadAsteriskTestBzip2(ReadAsteriskTest):
|
||||
comp = "bz2"
|
||||
class ReadStreamAsteriskTestBzip2(ReadStreamAsteriskTest):
|
||||
comp = "bz2"
|
||||
|
||||
# If importing gzip failed, discard the Gzip TestCases.
|
||||
if not gzip:
|
||||
|
@ -375,6 +396,8 @@ def test_main():
|
|||
FileModeTest,
|
||||
ReadTest,
|
||||
ReadStreamTest,
|
||||
ReadAsteriskTest,
|
||||
ReadStreamAsteriskTest,
|
||||
WriteTest,
|
||||
WriteStreamTest,
|
||||
WriteGNULongTest,
|
||||
|
@ -386,13 +409,15 @@ def test_main():
|
|||
if gzip:
|
||||
tests.extend([
|
||||
ReadTestGzip, ReadStreamTestGzip,
|
||||
WriteTestGzip, WriteStreamTestGzip
|
||||
WriteTestGzip, WriteStreamTestGzip,
|
||||
ReadAsteriskTestGzip, ReadStreamAsteriskTestGzip
|
||||
])
|
||||
|
||||
if bz2:
|
||||
tests.extend([
|
||||
ReadTestBzip2, ReadStreamTestBzip2,
|
||||
WriteTestBzip2, WriteStreamTestBzip2
|
||||
WriteTestBzip2, WriteStreamTestBzip2,
|
||||
ReadAsteriskTestBzip2, ReadStreamAsteriskTestBzip2
|
||||
])
|
||||
try:
|
||||
test_support.run_unittest(*tests)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue