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:
Martin v. Löwis 2005-03-05 12:47:42 +00:00
parent 409d8f2ebd
commit 78be7df9e4
4 changed files with 97 additions and 32 deletions

View file

@ -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)