diff options
author | Brett Cannon <brett@python.org> | 2012-02-23 15:17:56 (GMT) |
---|---|---|
committer | Brett Cannon <brett@python.org> | 2012-02-23 15:17:56 (GMT) |
commit | 5b761f1dca44e532f24be3bfb758058cb63afb55 (patch) | |
tree | 45592ac05926c87b262c7d947f2d49958a68dbfa | |
parent | 34d8e41a474f43dabca4096e5f945ca67e69a5b8 (diff) | |
parent | 197e22c1d700c9ae71f80b59544fbe423d19017e (diff) | |
download | cpython-5b761f1dca44e532f24be3bfb758058cb63afb55.zip cpython-5b761f1dca44e532f24be3bfb758058cb63afb55.tar.gz cpython-5b761f1dca44e532f24be3bfb758058cb63afb55.tar.bz2 |
Merge
-rw-r--r-- | Lib/test/test_zlib.py | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py index c361eac..3c982c6 100644 --- a/Lib/test/test_zlib.py +++ b/Lib/test/test_zlib.py @@ -7,11 +7,6 @@ from test.support import bigmemtest, _1G, _4G zlib = support.import_module('zlib') -try: - import mmap -except ImportError: - mmap = None - class VersionTestCase(unittest.TestCase): @@ -77,24 +72,11 @@ class ChecksumTestCase(unittest.TestCase): # Issue #10276 - check that inputs >=4GB are handled correctly. class ChecksumBigBufferTestCase(unittest.TestCase): - def setUp(self): - with open(support.TESTFN, "wb+") as f: - f.seek(_4G) - f.write(b"asdf") - f.flush() - self.mapping = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) - - def tearDown(self): - self.mapping.close() - support.unlink(support.TESTFN) - - @unittest.skipUnless(mmap, "mmap() is not available.") - @unittest.skipUnless(sys.maxsize > _4G, "Can't run on a 32-bit system.") - @unittest.skipUnless(support.is_resource_enabled("largefile"), - "May use lots of disk space.") - def test_big_buffer(self): - self.assertEqual(zlib.crc32(self.mapping), 3058686908) - self.assertEqual(zlib.adler32(self.mapping), 82837919) + @bigmemtest(size=_4G + 4, memuse=1, dry_run=False) + def test_big_buffer(self, size): + data = b"nyan" * (_1G + 1) + self.assertEqual(zlib.crc32(data), 1044521549) + self.assertEqual(zlib.adler32(data), 2256789997) class ExceptionTestCase(unittest.TestCase): @@ -197,10 +179,8 @@ class CompressTestCase(BaseCompressTestCase, unittest.TestCase): def test_big_decompress_buffer(self, size): self.check_big_decompress_buffer(size, zlib.decompress) - @bigmemtest(size=_4G + 100, memuse=1) + @bigmemtest(size=_4G + 100, memuse=1, dry_run=False) def test_length_overflow(self, size): - if size < _4G + 100: - self.skipTest("not enough free memory, need at least 4 GB") data = b'x' * size try: self.assertRaises(OverflowError, zlib.compress, data, 1) @@ -554,10 +534,8 @@ class CompressObjectTestCase(BaseCompressTestCase, unittest.TestCase): decompress = lambda s: d.decompress(s) + d.flush() self.check_big_decompress_buffer(size, decompress) - @bigmemtest(size=_4G + 100, memuse=1) + @bigmemtest(size=_4G + 100, memuse=1, dry_run=False) def test_length_overflow(self, size): - if size < _4G + 100: - self.skipTest("not enough free memory, need at least 4 GB") data = b'x' * size c = zlib.compressobj(1) d = zlib.decompressobj() |