]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40287: Fix SpooledTemporaryFile.seek() return value (GH-19540)
authorInada Naoki <songofacandy@gmail.com>
Fri, 17 Apr 2020 06:56:35 +0000 (15:56 +0900)
committerGitHub <noreply@github.com>
Fri, 17 Apr 2020 06:56:35 +0000 (15:56 +0900)
It has not returned the file position after the seek.

Lib/tempfile.py
Lib/test/test_tempfile.py
Misc/NEWS.d/next/Library/2020-04-15-17-21-48.bpo-40287.-mkEJH.rst [new file with mode: 0644]

index ed15c0fd1f8afc055bf009328165849604eb755a..ba04be8f9058e1b27fdcfc39f8c31883e51ad016 100644 (file)
@@ -738,7 +738,7 @@ class SpooledTemporaryFile:
         return self._file.readlines(*args)
 
     def seek(self, *args):
-        self._file.seek(*args)
+        return self._file.seek(*args)
 
     def tell(self):
         return self._file.tell()
index f4cba0fa8dcf199c6cd13687800919fd9625b37d..69d5de2e1b95f417f6ca92dd6b14e537835a29ea 100644 (file)
@@ -1018,7 +1018,8 @@ class TestSpooledTemporaryFile(BaseTestCase):
         # Verify writelines with a SpooledTemporaryFile
         f = self.do_create()
         f.writelines((b'x', b'y', b'z'))
-        f.seek(0)
+        pos = f.seek(0)
+        self.assertEqual(pos, 0)
         buf = f.read()
         self.assertEqual(buf, b'xyz')
 
@@ -1036,7 +1037,8 @@ class TestSpooledTemporaryFile(BaseTestCase):
         # when that occurs
         f = self.do_create(max_size=30)
         self.assertFalse(f._rolled)
-        f.seek(100, 0)
+        pos = f.seek(100, 0)
+        self.assertEqual(pos, 100)
         self.assertFalse(f._rolled)
         f.write(b'x')
         self.assertTrue(f._rolled)
diff --git a/Misc/NEWS.d/next/Library/2020-04-15-17-21-48.bpo-40287.-mkEJH.rst b/Misc/NEWS.d/next/Library/2020-04-15-17-21-48.bpo-40287.-mkEJH.rst
new file mode 100644 (file)
index 0000000..d4db192
--- /dev/null
@@ -0,0 +1 @@
+Fixed ``SpooledTemporaryFile.seek()`` to return the position.