[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 ----