Update of /cvsroot/python/python/dist/src/Lib/test In directory usw-pr-cvs1:/tmp/cvs-serv32717/Lib/test Modified Files: test_bz2.py Log Message: Many changes to get this to pass on Windows, and to make it easier to figure out what the code was doing. The fixes were a combination of closing open files before deletion, opening files in binary mode, and plain skipping things that can't work on Windows (BaseTest.decompress uses a process gimmick that doesn't exist on Windows, and, even if it did, assumes a "bunzip2" executable is on PATH). Index: test_bz2.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/test/test_bz2.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** test_bz2.py 9 Nov 2002 05:26:14 -0000 1.5 --- test_bz2.py 9 Nov 2002 06:31:56 -0000 1.6 *************** *** 1,3 **** --- 1,5 ---- #!/usr/bin/python + from test import test_support + import unittest from cStringIO import StringIO *************** *** 5,10 **** import popen2 import tempfile ! from bz2 import * ! from test import test_support class BaseTest(unittest.TestCase): --- 7,14 ---- import popen2 import tempfile ! import sys ! ! import bz2 ! from bz2 import BZ2File, BZ2Compressor, BZ2Decompressor class BaseTest(unittest.TestCase): *************** *** 14,18 **** --- 18,28 ---- 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) *************** *** 21,25 **** pop.fromchild.close() if pop.wait() != 0: ! ret = decompress(data) return ret --- 31,38 ---- 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 *************** *** 120,123 **** --- 133,138 ---- def testWrite(self): + if self.skip_decompress_tests: + return # "Test BZ2File.write()" bz2f = BZ2File(self.filename, "w") *************** *** 130,133 **** --- 145,150 ---- def testWriteChunks10(self): # "Test BZ2File.write() with chunks of 10 bytes" + if self.skip_decompress_tests: + return bz2f = BZ2File(self.filename, "w") n = 0 *************** *** 145,148 **** --- 162,167 ---- def testWriteLines(self): # "Test BZ2File.writelines()" + if self.skip_decompress_tests: + return bz2f = BZ2File(self.filename, "w") sio = StringIO(self.TEXT) *************** *** 159,162 **** --- 178,182 ---- bz2f.seek(150) self.assertEqual(bz2f.read(), self.TEXT[150:]) + bz2f.close() def testSeekBackwards(self): *************** *** 167,170 **** --- 187,191 ---- bz2f.seek(-150, 1) self.assertEqual(bz2f.read(), self.TEXT[500-150:]) + bz2f.close() def testSeekBackwardsFromEnd(self): *************** *** 174,177 **** --- 195,199 ---- bz2f.seek(-150, 2) self.assertEqual(bz2f.read(), self.TEXT[len(self.TEXT)-150:]) + bz2f.close() def testSeekPostEnd(self): *************** *** 182,185 **** --- 204,208 ---- self.assertEqual(bz2f.tell(), len(self.TEXT)) self.assertEqual(bz2f.read(), "") + bz2f.close() def testSeekPostEndTwice(self): *************** *** 191,194 **** --- 214,218 ---- self.assertEqual(bz2f.tell(), len(self.TEXT)) self.assertEqual(bz2f.read(), "") + bz2f.close() def testSeekPreStart(self): *************** *** 199,206 **** --- 223,233 ---- self.assertEqual(bz2f.tell(), 0) self.assertEqual(bz2f.read(), self.TEXT) + bz2f.close() class BZ2CompressorTest(BaseTest): def testCompress(self): # "Test BZ2Compressor.compress()/flush()" + if self.skip_decompress_tests: + return bz2c = BZ2Compressor() data = bz2c.compress(self.TEXT) *************** *** 210,213 **** --- 237,242 ---- def testCompressChunks10(self): # "Test BZ2Compressor.compress()/flush() with chunks of 10 bytes" + if self.skip_decompress_tests: + return bz2c = BZ2Compressor() n = 0 *************** *** 262,287 **** def testCompress(self): # "Test compress() function" ! data = compress(self.TEXT) self.assertEqual(self.decompress(data), self.TEXT) def testDecompress(self): # "Test decompress() function" ! text = decompress(self.DATA) self.assertEqual(text, self.TEXT) def testDecompressEmpty(self): # "Test decompress() function with empty string" ! text = decompress("") self.assertEqual(text, "") def testDecompressIncomplete(self): # "Test decompress() function with incomplete data" ! self.assertRaises(ValueError, decompress, self.DATA[:-10]) def test_main(): ! test_support.run_unittest(BZ2FileTest) ! test_support.run_unittest(BZ2CompressorTest) ! test_support.run_unittest(BZ2DecompressorTest) ! test_support.run_unittest(FuncTest) if __name__ == '__main__': --- 291,321 ---- def testCompress(self): # "Test compress() function" ! if self.skip_decompress_tests: ! return ! data = bz2.compress(self.TEXT) self.assertEqual(self.decompress(data), self.TEXT) def testDecompress(self): # "Test decompress() function" ! text = bz2.decompress(self.DATA) self.assertEqual(text, self.TEXT) def testDecompressEmpty(self): # "Test decompress() function with empty string" ! text = bz2.decompress("") self.assertEqual(text, "") def testDecompressIncomplete(self): # "Test decompress() function with incomplete data" ! self.assertRaises(ValueError, bz2.decompress, self.DATA[:-10]) def test_main(): ! suite = unittest.TestSuite() ! for test in (BZ2FileTest, ! BZ2CompressorTest, ! BZ2DecompressorTest, ! FuncTest): ! suite.addTest(unittest.makeSuite(test)) ! test_support.run_suite(suite) if __name__ == '__main__':
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4