aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikolaus Schulz <microschulz@web.de>2011-06-17 23:14:55 +0200
committerNikolaus Schulz <microschulz@web.de>2011-06-18 00:13:41 +0200
commitf6046b9d698af67b981055d68681392205f8573c (patch)
treed8396676203492a9370c195e0450d4563abd29ff
parent39e6a532d0654440679fb5980352615a004f090c (diff)
downloadarchivemail-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.
-rw-r--r--CHANGELOG3
-rwxr-xr-xtest_archivemail6
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 3f0a3ae..b3f8f72 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -3,6 +3,9 @@ version 0.?.? - UNRELEASED
* Fixed manpage installation path to be FHS compliant
* Speed up IMAP archiving with the --quiet option
* Ported the manpage from SGML to XML
+ * Fix test suite failures with Python 2.7 by letting the test suite method
+ FixedGzipFile.seek() return the new absolute file position.
+ Closes: #3314293.
version 0.8.2 - 16 October 2010
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