You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
bpo-18748 modified io.IOBase finalizer to no longer silence close() exception in develoment and in debug mode.
The commit 472f794 fixed a few destructor errors in test_io, but there are still a few:
test_uninitialized (test.test_io.PyBufferedReaderTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 836, in rawreturnself._raw
AttributeError: 'BufferedReader' object has no attribute '_raw'
ok
test_max_buffer_size_removal (test.test_io.PyBufferedWriterTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1299, in closewithself._write_lock:
AttributeError: 'BufferedWriter' object has no attribute '_write_lock'
ok
test_misbehaved_io (test.test_io.PyBufferedWriterTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1308, in closeself.flush()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1269, in flushself._flush_unlocked()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1285, in _flush_unlockedraiseOSError("write() returned incorrect number of bytes")
OSError: write() returned incorrect number of bytes
ok
test_uninitialized (test.test_io.PyBufferedWriterTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1299, in closewithself._write_lock:
AttributeError: 'BufferedWriter' object has no attribute '_write_lock'
ok
test_writer_close_error_on_close (test.test_io.CBufferedRWPairTest) ...
Exception ignored in: <_io.BufferedWriter>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/unittest/case.py", line 611, in _callTestMethod
method()
ValueError: flush of closed file
ok
test_constructor_max_buffer_size_removal (test.test_io.PyBufferedRWPairTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
AttributeError: 'BufferedRWPair' object has no attribute 'reader'
ok
test_constructor_with_not_readable (test.test_io.PyBufferedRWPairTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
AttributeError: 'BufferedRWPair' object has no attribute 'reader'
ok
test_constructor_with_not_writeable (test.test_io.PyBufferedRWPairTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
AttributeError: 'BufferedRWPair' object has no attribute 'reader'
ok
test_isatty (test.test_io.PyBufferedRWPairTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1300, in closeifself.raw isNoneorself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1300, in closeifself.raw isNoneorself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1300, in closeifself.raw isNoneorself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 814, in closeifself.raw isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1300, in closeifself.raw isNoneorself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'SelectableIsAtty' object has no attribute 'closed'
ok
test_uninitialized (test.test_io.PyBufferedRWPairTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1377, in closeself.reader.close()
AttributeError: 'BufferedRWPair' object has no attribute 'reader'
ok
test_destructor (test.test_io.CBufferedRandomTest) ...
Exception ignored in: <_io.BufferedRWPair object at 0x7f2f3c5842f0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/test/support/__init__.py", line 1627, in gc_collect
gc.collect()
ValueError: flush of closed file
Exception ignored in: <_io.BufferedWriter>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/test/support/__init__.py", line 1627, in gc_collect
gc.collect()
ValueError: flush of closed file
ok
test_misbehaved_io (test.test_io.CBufferedRandomTest) ...
Exception ignored in: <_io.BufferedRandom>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/test/test_io.py", line 2306, in test_misbehaved_io
BufferedReaderTest.test_misbehaved_io(self)
OSError: Raw stream returned invalid position -123
Exception ignored in: <_io.BufferedRandom>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/test/test_io.py", line 2307, in test_misbehaved_io
BufferedWriterTest.test_misbehaved_io(self)
OSError: Raw stream returned invalid position -123
ok
test_write_non_blocking (test.test_io.CBufferedRandomTest) ...
Exception ignored in: <_io.BufferedRandom>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/unittest/case.py", line 611, in _callTestMethod
method()
io.UnsupportedOperation: seek
ok
test_max_buffer_size_removal (test.test_io.PyBufferedRandomTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1299, in closewithself._write_lock:
AttributeError: 'BufferedRandom' object has no attribute '_write_lock'
ok
test_misbehaved_io (test.test_io.PyBufferedRandomTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1308, in closeself.flush()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1269, in flushself._flush_unlocked()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1285, in _flush_unlockedraiseOSError("write() returned incorrect number of bytes")
OSError: write() returned incorrect number of bytes
ok
test_uninitialized (test.test_io.PyBufferedRandomTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1299, in closewithself._write_lock:
AttributeError: 'BufferedRandom' object has no attribute '_write_lock'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 1299, in closewithself._write_lock:
AttributeError: 'BufferedRandom' object has no attribute '_write_lock'
ok
test_destructor (test.test_io.PyTextIOWrapperTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/test/test_io.py", line 2817, in close
l.append(self.getvalue())
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 896, in getvalueraiseValueError("getvalue on closed file")
ValueError: getvalue on closed file
ok
test_issue22849 (test.test_io.PyTextIOWrapperTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
AttributeError: 'F' object has no attribute 'closed'
ok
test_repr (test.test_io.PyTextIOWrapperTest) ...
Exception ignored in: <function IOBase.__del__ at 0x7f2f3c73e4b0>
Traceback (most recent call last):
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 409, in __del__self.close()
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2161, in closeifself.buffer isnotNoneandnotself.closed:
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 2169, in closedreturnself.buffer.closed
File "/home/vstinner/prog/python/master/Lib/_pyio.py", line 840, in closedreturnself.raw.closed
AttributeError: 'NoneType' object has no attribute 'closed'
ok
test_io.PyBufferedWriterTest.test_misbehaved_io() logs a warning, whereas test_io.CBufferedWriterTest.test_misbehaved_io() doesn't. It seems like _pyio.BufferedWriter lacks bpo-32228 fix.
end:
/* This ensures that after return from this function,
VALID_WRITE_BUFFER(self) returns false.
This is a required condition because when a tell() is called
after flushing and if VALID_READ_BUFFER(self) is false, we need
VALID_WRITE_BUFFER(self) to be false to have
RAW_OFFSET(self) == 0.
Activity
vstinner commentedon Jun 10, 2019
bpo-18748 modified io.IOBase finalizer to no longer silence close() exception in develoment and in debug mode.
The commit 472f794 fixed a few destructor errors in test_io, but there are still a few:
List of failing tests:
test.test_io.CBufferedRWPairTest.test_writer_close_error_on_close
test.test_io.CBufferedRandomTest.test_destructor
test.test_io.CBufferedRandomTest.test_misbehaved_io
test.test_io.CBufferedRandomTest.test_write_non_blocking
test.test_io.PyBufferedRWPairTest.test_constructor_max_buffer_size_removal
test.test_io.PyBufferedRWPairTest.test_constructor_with_not_readable
test.test_io.PyBufferedRWPairTest.test_constructor_with_not_writeable
test.test_io.PyBufferedRWPairTest.test_isatty
test.test_io.PyBufferedRWPairTest.test_uninitialized
test.test_io.PyBufferedRandomTest.test_max_buffer_size_removal
test.test_io.PyBufferedRandomTest.test_misbehaved_io
test.test_io.PyBufferedRandomTest.test_uninitialized
test.test_io.PyBufferedReaderTest.test_uninitialized
test.test_io.PyBufferedWriterTest.test_max_buffer_size_removal
test.test_io.PyBufferedWriterTest.test_misbehaved_io
test.test_io.PyBufferedWriterTest.test_uninitialized
test.test_io.PyTextIOWrapperTest.test_destructor
test.test_io.PyTextIOWrapperTest.test_issue22849
test.test_io.PyTextIOWrapperTest.test_repr
vstinner commentedon Jun 10, 2019
See also bpo-36918 (test_urllib) and bpo-37069 (regrtest: log unraisable exceptions and uncaught thread exceptions).
vstinner commentedon Jun 11, 2019
PR 13952 fix many errors, but not of all them.
test_io.PyBufferedWriterTest.test_misbehaved_io() logs a warning, whereas test_io.CBufferedWriterTest.test_misbehaved_io() doesn't. It seems like _pyio.BufferedWriter lacks bpo-32228 fix.
Extract of the C implementation:
static PyObject *
_bufferedwriter_flush_unlocked(buffered *self)
{
...
end:
/* This ensures that after return from this function,
VALID_WRITE_BUFFER(self) returns false.
vstinner commentedon Jun 11, 2019
New changeset 4f6f7c5 by Victor Stinner in branch 'master':
bpo-18748: Fix _pyio.IOBase destructor (closed case) (GH-13952)
4f6f7c5
vstinner commentedon Jun 11, 2019
New changeset b589cef by Victor Stinner in branch 'master':
bpo-37223: test_io: silence destructor errors (GH-13954)
b589cef
vstinner commentedon Jun 11, 2019
Once bpo-36918 will be fixed, I will backport changes to Python 3.8.
vstinner commentedon Jun 12, 2019
Oh. There are still 3 errors in 2 tests:
vstinner commentedon Jun 12, 2019
New changeset 913fa1c by Victor Stinner in branch 'master':
bpo-37223, test_io: silence last 'Exception ignored in:' (GH-14029)
913fa1c
vstinner commentedon Jun 12, 2019
New changeset c15a682 by Victor Stinner in branch '3.8':
bpo-37223: test_io: silence destructor errors (GH-14031)
c15a682
vstinner commentedon Jun 12, 2019
Ok, all errors have been fixed in 3.8 and master. I close the issue.