From 6e1ccfe87261a9bc3818d1b4c2409eb1b7db19c5 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 11 Jul 2014 17:35:06 +0200 Subject: [PATCH] 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(). --- Lib/test/test_os.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 588df1696fd..5348b12bb38 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -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)