summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_io.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-07-29 17:02:46 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-07-29 17:02:46 (GMT)
commitbff5df0d1ca6c37a3454dd5dff5d587af27ab8be (patch)
treeca1a3ab5703fd2e2813499d02a573c1f9a96c0fa /Lib/test/test_io.py
parentc02e1e65c45753dafc7ae1b6c0b120323b2a10b7 (diff)
downloadcpython-bff5df0d1ca6c37a3454dd5dff5d587af27ab8be.zip
cpython-bff5df0d1ca6c37a3454dd5dff5d587af27ab8be.tar.gz
cpython-bff5df0d1ca6c37a3454dd5dff5d587af27ab8be.tar.bz2
Issue #15487: Add a __sizeof__ implementation for buffered I/O objects.
Patch by Serhiy Storchaka.
Diffstat (limited to 'Lib/test/test_io.py')
-rw-r--r--Lib/test/test_io.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 72feff5..e4507e4 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -748,6 +748,20 @@ class CommonBufferedTests:
buf.raw = x
+class SizeofTest:
+
+ @support.cpython_only
+ def test_sizeof(self):
+ bufsize1 = 4096
+ bufsize2 = 8192
+ rawio = self.MockRawIO()
+ bufio = self.tp(rawio, buffer_size=bufsize1)
+ size = sys.getsizeof(bufio) - bufsize1
+ rawio = self.MockRawIO()
+ bufio = self.tp(rawio, buffer_size=bufsize2)
+ self.assertEqual(sys.getsizeof(bufio), size + bufsize2)
+
+
class BufferedReaderTest(unittest.TestCase, CommonBufferedTests):
read_mode = "rb"
@@ -931,7 +945,7 @@ class BufferedReaderTest(unittest.TestCase, CommonBufferedTests):
"failed for {}: {} != 0".format(n, rawio._extraneous_reads))
-class CBufferedReaderTest(BufferedReaderTest):
+class CBufferedReaderTest(BufferedReaderTest, SizeofTest):
tp = io.BufferedReader
def test_constructor(self):
@@ -1194,7 +1208,7 @@ class BufferedWriterTest(unittest.TestCase, CommonBufferedTests):
self.tp(self.MockRawIO(), 8, 12)
-class CBufferedWriterTest(BufferedWriterTest):
+class CBufferedWriterTest(BufferedWriterTest, SizeofTest):
tp = io.BufferedWriter
def test_constructor(self):
@@ -1582,8 +1596,8 @@ class BufferedRandomTest(BufferedReaderTest, BufferedWriterTest):
f.flush()
self.assertEqual(raw.getvalue(), b'1b\n2def\n3\n')
-
-class CBufferedRandomTest(CBufferedReaderTest, CBufferedWriterTest, BufferedRandomTest):
+class CBufferedRandomTest(CBufferedReaderTest, CBufferedWriterTest,
+ BufferedRandomTest, SizeofTest):
tp = io.BufferedRandom
def test_constructor(self):