Issue #21932: Ooops, os.read(fd, size) allocates a buffer of size bytes, even

if the file is much smaller. Add @bigmemtest decorator to the new
test_large_read().
This commit is contained in:
Victor Stinner 2014-07-11 17:35:06 +02:00
parent b28ed92dd0
commit 6e1ccfe872
1 changed files with 3 additions and 2 deletions

View File

@ -123,14 +123,15 @@ class FileTests(unittest.TestCase):
self.assertEqual(type(s), bytes)
self.assertEqual(s, b"spam")
def test_large_read(self):
@support.cpython_only
@support.bigmemtest(size=INT_MAX + 10, memuse=1, dry_run=False)
def test_large_read(self, size):
with open(support.TESTFN, "wb") as fp:
fp.write(b'test')
self.addCleanup(support.unlink, support.TESTFN)
# Issue #21932: Make sure that os.read() does not raise an
# OverflowError for size larger than INT_MAX
size = INT_MAX + 10
with open(support.TESTFN, "rb") as fp:
data = os.read(fp.fileno(), size)