mirror of
https://github.com/python/cpython.git
synced 2025-09-27 10:50:04 +00:00
bpo-18748: test_io: silence destructor errors (GH-12805)
This commit is contained in:
parent
e8f9acf034
commit
472f794a33
1 changed files with 29 additions and 0 deletions
|
@ -991,6 +991,9 @@ class IOTest(unittest.TestCase):
|
||||||
# This would cause an assertion failure.
|
# This would cause an assertion failure.
|
||||||
self.assertRaises(OSError, f.close)
|
self.assertRaises(OSError, f.close)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
R.flush = lambda self: None
|
||||||
|
|
||||||
|
|
||||||
class CIOTest(IOTest):
|
class CIOTest(IOTest):
|
||||||
|
|
||||||
|
@ -1167,6 +1170,10 @@ class CommonBufferedTests:
|
||||||
self.assertEqual(err.exception.__context__.args, ('flush',))
|
self.assertEqual(err.exception.__context__.args, ('flush',))
|
||||||
self.assertFalse(b.closed)
|
self.assertFalse(b.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
raw.close = lambda: None
|
||||||
|
b.flush = lambda: None
|
||||||
|
|
||||||
def test_nonnormalized_close_error_on_close(self):
|
def test_nonnormalized_close_error_on_close(self):
|
||||||
# Issue #21677
|
# Issue #21677
|
||||||
raw = self.MockRawIO()
|
raw = self.MockRawIO()
|
||||||
|
@ -1184,6 +1191,10 @@ class CommonBufferedTests:
|
||||||
self.assertIn('non_existing_flush', str(err.exception.__context__))
|
self.assertIn('non_existing_flush', str(err.exception.__context__))
|
||||||
self.assertFalse(b.closed)
|
self.assertFalse(b.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
b.flush = lambda: None
|
||||||
|
raw.close = lambda: None
|
||||||
|
|
||||||
def test_multi_close(self):
|
def test_multi_close(self):
|
||||||
raw = self.MockRawIO()
|
raw = self.MockRawIO()
|
||||||
b = self.tp(raw)
|
b = self.tp(raw)
|
||||||
|
@ -2039,6 +2050,9 @@ class BufferedRWPairTest(unittest.TestCase):
|
||||||
self.assertFalse(reader.closed)
|
self.assertFalse(reader.closed)
|
||||||
self.assertTrue(writer.closed)
|
self.assertTrue(writer.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
reader.close = lambda: None
|
||||||
|
|
||||||
def test_writer_close_error_on_close(self):
|
def test_writer_close_error_on_close(self):
|
||||||
def writer_close():
|
def writer_close():
|
||||||
writer_non_existing
|
writer_non_existing
|
||||||
|
@ -2053,6 +2067,9 @@ class BufferedRWPairTest(unittest.TestCase):
|
||||||
self.assertTrue(reader.closed)
|
self.assertTrue(reader.closed)
|
||||||
self.assertFalse(writer.closed)
|
self.assertFalse(writer.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
writer.close = lambda: None
|
||||||
|
|
||||||
def test_reader_writer_close_error_on_close(self):
|
def test_reader_writer_close_error_on_close(self):
|
||||||
def reader_close():
|
def reader_close():
|
||||||
reader_non_existing
|
reader_non_existing
|
||||||
|
@ -2072,6 +2089,10 @@ class BufferedRWPairTest(unittest.TestCase):
|
||||||
self.assertFalse(reader.closed)
|
self.assertFalse(reader.closed)
|
||||||
self.assertFalse(writer.closed)
|
self.assertFalse(writer.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
reader.close = lambda: None
|
||||||
|
writer.close = lambda: None
|
||||||
|
|
||||||
def test_isatty(self):
|
def test_isatty(self):
|
||||||
class SelectableIsAtty(MockRawIO):
|
class SelectableIsAtty(MockRawIO):
|
||||||
def __init__(self, isatty):
|
def __init__(self, isatty):
|
||||||
|
@ -3270,6 +3291,10 @@ class TextIOWrapperTest(unittest.TestCase):
|
||||||
self.assertEqual(err.exception.__context__.args, ('flush',))
|
self.assertEqual(err.exception.__context__.args, ('flush',))
|
||||||
self.assertFalse(txt.closed)
|
self.assertFalse(txt.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
buffer.close = lambda: None
|
||||||
|
txt.flush = lambda: None
|
||||||
|
|
||||||
def test_nonnormalized_close_error_on_close(self):
|
def test_nonnormalized_close_error_on_close(self):
|
||||||
# Issue #21677
|
# Issue #21677
|
||||||
buffer = self.BytesIO(self.testdata)
|
buffer = self.BytesIO(self.testdata)
|
||||||
|
@ -3287,6 +3312,10 @@ class TextIOWrapperTest(unittest.TestCase):
|
||||||
self.assertIn('non_existing_flush', str(err.exception.__context__))
|
self.assertIn('non_existing_flush', str(err.exception.__context__))
|
||||||
self.assertFalse(txt.closed)
|
self.assertFalse(txt.closed)
|
||||||
|
|
||||||
|
# Silence destructor error
|
||||||
|
buffer.close = lambda: None
|
||||||
|
txt.flush = lambda: None
|
||||||
|
|
||||||
def test_multi_close(self):
|
def test_multi_close(self):
|
||||||
txt = self.TextIOWrapper(self.BytesIO(self.testdata), encoding="ascii")
|
txt = self.TextIOWrapper(self.BytesIO(self.testdata), encoding="ascii")
|
||||||
txt.close()
|
txt.close()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue