From: Victor Stinner Date: Fri, 11 Jul 2014 15:35:06 +0000 (+0200) Subject: Issue #21932: Ooops, os.read(fd, size) allocates a buffer of size bytes, even X-Git-Tag: v3.5.0a1~1296 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6e1ccfe87261a9bc3818d1b4c2409eb1b7db19c5;p=thirdparty%2FPython%2Fcpython.git 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(). --- diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 588df1696fd6..5348b12bb38b 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)