Issue #15489: Add a __sizeof__ implementation for BytesIO objects.

Patch by Serhiy Storchaka.
This commit is contained in:
Antoine Pitrou 2012-07-30 00:01:06 +02:00
parent bff5df0d1c
commit baee34c344
3 changed files with 26 additions and 0 deletions

View file

@ -638,6 +638,17 @@ class CBytesIOTest(PyBytesIOTest):
memio.close()
self.assertRaises(ValueError, memio.__setstate__, (b"closed", 0, None))
check_sizeof = support.check_sizeof
@support.cpython_only
def test_sizeof(self):
basesize = support.calcobjsize(b'P2PP2P')
check = self.check_sizeof
self.assertEqual(object.__sizeof__(io.BytesIO()), basesize)
check(io.BytesIO(), basesize )
check(io.BytesIO(b'a'), basesize + 1 + 1 )
check(io.BytesIO(b'a' * 1000), basesize + 1000 + 1 )
class CStringIOTest(PyStringIOTest):
ioclass = io.StringIO