bpo-37223: test_io: silence destructor errors (GH-13954)
authorVictor Stinner <vstinner@redhat.com>
Tue, 11 Jun 2019 01:10:59 +0000 (03:10 +0200)
committerGitHub <noreply@github.com>
Tue, 11 Jun 2019 01:10:59 +0000 (03:10 +0200)
Implement also MockNonBlockWriterIO.seek() method.

Lib/test/test_io.py

index 3a1f5ba5b6663d5cea385179dc46ad3fb0336dba..102679b1d3424359a292f686cfbe5943249d7378 100644 (file)
@@ -277,6 +277,10 @@ class MockNonBlockWriterIO:
     def seekable(self):
         return True
 
+    def seek(self, pos, whence=0):
+        # naive implementation, enough for tests
+        return 0
+
     def writable(self):
         return True
 
@@ -1486,6 +1490,9 @@ class BufferedReaderTest(unittest.TestCase, CommonBufferedTests):
         self.assertRaises(OSError, bufio.seek, 0)
         self.assertRaises(OSError, bufio.tell)
 
+        # Silence destructor error
+        bufio.close = lambda: None
+
     def test_no_extraneous_read(self):
         # Issue #9550; when the raw IO object has satisfied the read request,
         # we should not issue any additional reads, otherwise it may block
@@ -1834,6 +1841,9 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
         self.assertRaises(OSError, bufio.tell)
         self.assertRaises(OSError, bufio.write, b"abcdef")
 
+        # Silence destructor error
+        bufio.close = lambda: None
+
     def test_max_buffer_size_removal(self):
         with self.assertRaises(TypeError):
             self.tp(self.MockRawIO(), 8, 12)