[Python-checkins] python/dist/src/Lib/test test_bz2.py,1.6,1.7
tim_one@users.sourceforge.net
tim_one@users.sourceforge.net
Fri, 08 Nov 2002 22:45:33 -0800
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv2850/Lib/test
Modified Files:
test_bz2.py
Log Message:
More tests run on Windows now. Something is still wrong here, but no
idea what. Added liberal XXX explanations for the next guy.
Index: test_bz2.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_bz2.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** test_bz2.py 9 Nov 2002 06:31:56 -0000 1.6
--- test_bz2.py 9 Nov 2002 06:45:31 -0000 1.7
***************
*** 12,15 ****
--- 12,17 ----
from bz2 import BZ2File, BZ2Compressor, BZ2Decompressor
+ has_cmdline_bunzip2 = sys.platform not in ("win32",)
+
class BaseTest(unittest.TestCase):
"Base for other testcases."
***************
*** 18,39 ****
DATA_CRLF = 'BZh91AY&SY\xaez\xbbN\x00\x01H\xdf\x80\x00\x12@\x02\xff\xf0\x01\x07n\x00?\xe7\xff\xe0@\x01\xbc\xc6`\x86*\x8d=M\xa9\x9a\x86\xd0L@\x0fI\xa6!\xa1\x13\xc8\x88jdi\x8d@\x03@\x1a\x1a\x0c\x0c\x83 \x00\xc4h2\x19\x01\x82D\x84e\t\xe8\x99\x89\x19\x1ah\x00\r\x1a\x11\xaf\x9b\x0fG\xf5(\x1b\x1f?\t\x12\xcf\xb5\xfc\x95E\x00ps\x89\x12^\xa4\xdd\xa2&\x05(\x87\x04\x98\x89u\xe40%\xb6\x19\'\x8c\xc4\x89\xca\x07\x0e\x1b!\x91UIFU%C\x994!DI\xd2\xfa\xf0\xf1N8W\xde\x13A\xf5\x9cr%?\x9f3;I45A\xd1\x8bT\xb1<l\xba\xcb_\xc00xY\x17r\x17\x88\x08\x08@\xa0\ry@\x10\x04$)`\xf2\xce\x89z\xb0s\xec\x9b.iW\x9d\x81\xb5-+t\x9f\x1a\'\x97dB\xf5x\xb5\xbe.[.\xd7\x0e\x81\xe7\x08\x1cN`\x88\x10\xca\x87\xc3!"\x80\x92R\xa1/\xd1\xc0\xe6mf\xac\xbd\x99\xcca\xb3\x8780>\xa4\xc7\x8d\x1a\\"\xad\xa1\xabyBg\x15\xb9l\x88\x88\x91k"\x94\xa4\xd4\x89\xae*\xa6\x0b\x10\x0c\xd6\xd4m\xe86\xec\xb5j\x8a\x86j\';\xca.\x01I\xf2\xaaJ\xe8\x88\x8cU+t3\xfb\x0c\n\xa33\x13r2\r\x16\xe0\xb3(\xbf\x1d\x83r\xe7M\xf0D\x1365\xd8\x88\xd3\xa4\x92\xcb2\x06\x04\\\xc1\xb0\xea//\xbek&\xd8\xe6+t\xe5\xa1\x13\xada\x16\xder5"w]\xa2i\xb7[\x97R \xe2IT\xcd;Z\x04dk4\xad\x8a\t\xd3\x81z\x10\xf1:^`\xab\x1f\xc5\xdc\x91N\x14$+\x9e\xae\xd3\x80'
! # XXX BaseTest.decompress can't run on Windows -- popen2.Popen3 doesn't
! # XXX exist there, XXX and even if it did, bunzip2 isn't available to
! # XXX run. Tests using this are therefore skipped on Windows.
! skip_decompress_tests = sys.platform in ("win32",)
! def decompress(self, data):
! assert not self.skip_decompress_tests
! pop = popen2.Popen3("bunzip2", capturestderr=1)
! pop.tochild.write(data)
! pop.tochild.close()
! ret = pop.fromchild.read()
! pop.fromchild.close()
! if pop.wait() != 0:
! # XXX I don't think this works. On Windows, trying to call
! # XXX bz2.decompress in this function always raises
! # XXD ValueError: couldn't find end of stream
! ret = bz2.decompress(data)
! return ret
class BZ2FileTest(BaseTest):
--- 20,52 ----
DATA_CRLF = 'BZh91AY&SY\xaez\xbbN\x00\x01H\xdf\x80\x00\x12@\x02\xff\xf0\x01\x07n\x00?\xe7\xff\xe0@\x01\xbc\xc6`\x86*\x8d=M\xa9\x9a\x86\xd0L@\x0fI\xa6!\xa1\x13\xc8\x88jdi\x8d@\x03@\x1a\x1a\x0c\x0c\x83 \x00\xc4h2\x19\x01\x82D\x84e\t\xe8\x99\x89\x19\x1ah\x00\r\x1a\x11\xaf\x9b\x0fG\xf5(\x1b\x1f?\t\x12\xcf\xb5\xfc\x95E\x00ps\x89\x12^\xa4\xdd\xa2&\x05(\x87\x04\x98\x89u\xe40%\xb6\x19\'\x8c\xc4\x89\xca\x07\x0e\x1b!\x91UIFU%C\x994!DI\xd2\xfa\xf0\xf1N8W\xde\x13A\xf5\x9cr%?\x9f3;I45A\xd1\x8bT\xb1<l\xba\xcb_\xc00xY\x17r\x17\x88\x08\x08@\xa0\ry@\x10\x04$)`\xf2\xce\x89z\xb0s\xec\x9b.iW\x9d\x81\xb5-+t\x9f\x1a\'\x97dB\xf5x\xb5\xbe.[.\xd7\x0e\x81\xe7\x08\x1cN`\x88\x10\xca\x87\xc3!"\x80\x92R\xa1/\xd1\xc0\xe6mf\xac\xbd\x99\xcca\xb3\x8780>\xa4\xc7\x8d\x1a\\"\xad\xa1\xabyBg\x15\xb9l\x88\x88\x91k"\x94\xa4\xd4\x89\xae*\xa6\x0b\x10\x0c\xd6\xd4m\xe86\xec\xb5j\x8a\x86j\';\xca.\x01I\xf2\xaaJ\xe8\x88\x8cU+t3\xfb\x0c\n\xa33\x13r2\r\x16\xe0\xb3(\xbf\x1d\x83r\xe7M\xf0D\x1365\xd8\x88\xd3\xa4\x92\xcb2\x06\x04\\\xc1\xb0\xea//\xbek&\xd8\xe6+t\xe5\xa1\x13\xada\x16\xder5"w]\xa2i\xb7[\x97R \xe2IT\xcd;Z\x04dk4\xad\x8a\t\xd3\x81z\x10\xf1:^`\xab\x1f\xc5\xdc\x91N\x14$+\x9e\xae\xd3\x80'
! if has_cmdline_bunzip2:
! def decompress(self, data):
! pop = popen2.Popen3("bunzip2", capturestderr=1)
! pop.tochild.write(data)
! pop.tochild.close()
! ret = pop.fromchild.read()
! pop.fromchild.close()
! if pop.wait() != 0:
! ret = bz2.decompress(data)
! return ret
! else:
! # popen2.Popen3 doesn't exist on Windows, and even if it did, bunzip2
! # isn't available to run.
!
! # XXX This alternative doesn't work in all tests. It raises
! # XXX ValueError: couldn't find end of stream
! # XXX in
! # XXX testWrite
! # XXX testWriteChunks10
! # XXX testWriteLines
! # XXX from BZ2FileTest .
! # XXX I don't know why.
!
! def decompress(self, data):
! return bz2.decompress(data)
!
! # XXX See XXX comment above.
! skip_mystery_test = not has_cmdline_bunzip2
class BZ2FileTest(BaseTest):
***************
*** 133,137 ****
def testWrite(self):
! if self.skip_decompress_tests:
return
# "Test BZ2File.write()"
--- 146,150 ----
def testWrite(self):
! if self.skip_mystery_test:
return
# "Test BZ2File.write()"
***************
*** 145,149 ****
def testWriteChunks10(self):
# "Test BZ2File.write() with chunks of 10 bytes"
! if self.skip_decompress_tests:
return
bz2f = BZ2File(self.filename, "w")
--- 158,162 ----
def testWriteChunks10(self):
# "Test BZ2File.write() with chunks of 10 bytes"
! if self.skip_mystery_test:
return
bz2f = BZ2File(self.filename, "w")
***************
*** 162,166 ****
def testWriteLines(self):
# "Test BZ2File.writelines()"
! if self.skip_decompress_tests:
return
bz2f = BZ2File(self.filename, "w")
--- 175,179 ----
def testWriteLines(self):
# "Test BZ2File.writelines()"
! if self.skip_mystery_test:
return
bz2f = BZ2File(self.filename, "w")
***************
*** 228,233 ****
def testCompress(self):
# "Test BZ2Compressor.compress()/flush()"
- if self.skip_decompress_tests:
- return
bz2c = BZ2Compressor()
data = bz2c.compress(self.TEXT)
--- 241,244 ----
***************
*** 237,242 ****
def testCompressChunks10(self):
# "Test BZ2Compressor.compress()/flush() with chunks of 10 bytes"
- if self.skip_decompress_tests:
- return
bz2c = BZ2Compressor()
n = 0
--- 248,251 ----
***************
*** 291,296 ****
def testCompress(self):
# "Test compress() function"
- if self.skip_decompress_tests:
- return
data = bz2.compress(self.TEXT)
self.assertEqual(self.decompress(data), self.TEXT)
--- 300,303 ----