diff options
| author | Antoine Pitrou <solipsis@pitrou.net> | 2010-01-03 22:29:56 (GMT) |
|---|---|---|
| committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-01-03 22:29:56 (GMT) |
| commit | 673ddf9907898d4483a2622699f588f0b58a5226 (patch) | |
| tree | 287266052188ec70042e331f451c4675b803c4f4 /Lib/test/test_gzip.py | |
| parent | 49d709c92143ba450ee2d3195bb3fa0505a0e88f (diff) | |
| download | cpython-673ddf9907898d4483a2622699f588f0b58a5226.zip cpython-673ddf9907898d4483a2622699f588f0b58a5226.tar.gz cpython-673ddf9907898d4483a2622699f588f0b58a5226.tar.bz2 | |
Issue #7471: Improve the performance of GzipFile's buffering mechanism,
and make it implement the `io.BufferedIOBase` ABC to allow for further
speedups by wrapping it in an `io.BufferedReader`. Patch by Nir Aides.
Diffstat (limited to 'Lib/test/test_gzip.py')
| -rw-r--r-- | Lib/test/test_gzip.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py index 13b0e57..60094dc 100644 --- a/Lib/test/test_gzip.py +++ b/Lib/test/test_gzip.py @@ -5,6 +5,7 @@ import unittest from test import test_support import os +import io import struct gzip = test_support.import_module('gzip') @@ -80,6 +81,16 @@ class TestGzip(unittest.TestCase): zgfile.close() self.assertEquals(contents, 'a'*201) + def test_buffered_reader(self): + # Issue #7471: a GzipFile can be wrapped in a BufferedReader for + # performance. + self.test_write() + + f = gzip.GzipFile(self.filename, 'rb') + with io.BufferedReader(f) as r: + lines = [line for line in r] + + self.assertEqual(lines, 50 * data1.splitlines(True)) def test_readline(self): self.test_write() |
