diff options
author | Nikolaus Schulz <microschulz@web.de> | 2011-06-17 23:14:55 +0200 |
---|---|---|
committer | Nikolaus Schulz <microschulz@web.de> | 2011-06-18 00:13:41 +0200 |
commit | f6046b9d698af67b981055d68681392205f8573c (patch) | |
tree | d8396676203492a9370c195e0450d4563abd29ff /test_archivemail | |
parent | 39e6a532d0654440679fb5980352615a004f090c (diff) | |
download | archivemail-f6046b9d698af67b981055d68681392205f8573c.tar.gz archivemail-f6046b9d698af67b981055d68681392205f8573c.tar.bz2 archivemail-f6046b9d698af67b981055d68681392205f8573c.zip |
test suite: let FixedGzipFile.seek() pass on what gzip.GzipFile.seek() returned
This fixes test suite failures with Python 2.7.
Starting with Python 2.7, gzip.GzipFile is subclassing io.IOBase.
The seek() method of io.IOBase differs from file.seek() and the old
gzip.GzipFile.seek() in that it returns the new file position, not None.
And in Python 2.7, gzip.GzipFile.tell() is inherited from
io.IOBase.tell(), which is implemented using its seek() method.
FixedGzipFile subclasses gzip.GzipFile and overrides seek(); therefore,
this method need be adapted for this change in the interface.
Closes: #3314293.
Diffstat (limited to 'test_archivemail')
-rwxr-xr-x | test_archivemail | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/test_archivemail b/test_archivemail index 6fff170..d3455b2 100755 --- a/test_archivemail +++ b/test_archivemail @@ -85,14 +85,16 @@ class FixedGzipFile(gzip.GzipFile): """GzipFile with seek method accepting whence parameter.""" def seek(self, offset, whence=0): try: - gzip.GzipFile.seek(self, offset, whence) + # Try calling gzip.GzipFile.seek with the whence parameter. + # For Python >= 2.7, it returns the new offset; pass that on. + return gzip.GzipFile.seek(self, offset, whence) except TypeError: if whence: if whence == 1: offset = self.offset + offset else: raise ValueError('Seek from end not supported') - gzip.GzipFile.seek(self, offset) + return gzip.GzipFile.seek(self, offset) # precision of os.utime() when restoring mbox timestamps utimes_precision = 5 |