From fcfc8d5c0e58644d60e73a19679243a86d0bdc84 Mon Sep 17 00:00:00 2001 From: "Andrew M. Kuchling" Date: Fri, 10 Aug 2001 15:50:11 +0000 Subject: Patch #441091 from Finn Bock: the more advanced flush options are not available in java, so only use the advanced flush options if they are defined in the zlib module. --- Lib/test/test_zlib.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py index 198f0d9..439db22 100644 --- a/Lib/test/test_zlib.py +++ b/Lib/test/test_zlib.py @@ -78,7 +78,10 @@ else: # Test flush() with the various options, using all the different levels # in order to provide more variations. -for sync in [zlib.Z_NO_FLUSH, zlib.Z_SYNC_FLUSH, zlib.Z_FULL_FLUSH]: +sync_opt = ['Z_NO_FLUSH', 'Z_SYNC_FLUSH', 'Z_FULL_FLUSH'] +sync_opt = [getattr(zlib, opt) for opt in sync_opt if hasattr(zlib, opt)] + +for sync in sync_opt: for level in range(10): obj = zlib.compressobj( level ) d = obj.compress( buf[:3000] ) @@ -96,23 +99,25 @@ random.seed(1) print 'Testing on 17K of random data' -# Create compressor and decompressor objects -c=zlib.compressobj(9) -d=zlib.decompressobj() +if hasattr(zlib, 'Z_SYNC_FLUSH'): + + # Create compressor and decompressor objects + c=zlib.compressobj(9) + d=zlib.decompressobj() -# Try 17K of data -# generate random data stream -a="" -for i in range(17*1024): - a=a+chr(random.randint(0,255)) + # Try 17K of data + # generate random data stream + a="" + for i in range(17*1024): + a=a+chr(random.randint(0,255)) -# compress, sync-flush, and decompress -t = d.decompress( c.compress(a)+c.flush(zlib.Z_SYNC_FLUSH) ) + # compress, sync-flush, and decompress + t = d.decompress( c.compress(a)+c.flush(zlib.Z_SYNC_FLUSH) ) -# if decompressed data is different from the input data, choke. -if len(t) != len(a): - print len(a),len(t),len(d.unused_data) - raise TestFailed, "output of 17K doesn't match" + # if decompressed data is different from the input data, choke. + if len(t) != len(a): + print len(a),len(t),len(d.unused_data) + raise TestFailed, "output of 17K doesn't match" def ignore(): """An empty function with a big string. -- cgit v0.12