]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40287: Fix SpooledTemporaryFile.seek() return value (GH-19540)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 17 Apr 2020 07:13:34 +0000 (00:13 -0700)
committerGitHub <noreply@github.com>
Fri, 17 Apr 2020 07:13:34 +0000 (00:13 -0700)
It has not returned the file position after the seek.
(cherry picked from commit 485e715cb1ff92bc9882cd51ec32589f9cb30503)

Co-authored-by: Inada Naoki <songofacandy@gmail.com>
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 24f673c64aa8de20343fb306910fb05a2bdb61d8..f92db5313215e9a6eadfb6e5f1e3baf953ef2fed 100644 (file)
@@ -744,7 +744,7 @@ class SpooledTemporaryFile:
         return self._file.readlines(*args)
 
     def seek(self, *args):
-        self._file.seek(*args)
+        return self._file.seek(*args)
 
     @property
     def softspace(self):
index c0464200a3aa325585d7069baaa0e436b8080cda..2d47e70bd03288627b014d79a6515738016096e3 100644 (file)
@@ -1034,7 +1034,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')
 
@@ -1052,7 +1053,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.