diff options
| author | Stéphane Wirtel <stephane@wirtel.be> | 2018-10-17 23:05:04 (GMT) |
|---|---|---|
| committer | Victor Stinner <vstinner@redhat.com> | 2018-10-17 23:05:04 (GMT) |
| commit | 74a8b6ea7e0a8508b13a1c75ec9b91febd8b5557 (patch) | |
| tree | 2ae2721beb480ede309e03b90202038b63c5a22c /Lib/test/test_largefile.py | |
| parent | 0f11a88622ceda93a6b7eed7db52a5eb8083445f (diff) | |
| download | cpython-74a8b6ea7e0a8508b13a1c75ec9b91febd8b5557.zip cpython-74a8b6ea7e0a8508b13a1c75ec9b91febd8b5557.tar.gz cpython-74a8b6ea7e0a8508b13a1c75ec9b91febd8b5557.tar.bz2 | |
bpo-24658: Fix read/write greater than 2 GiB on macOS (GH-1705)
On macOS, fix reading from and writing into a file with a size larger than 2 GiB.
Diffstat (limited to 'Lib/test/test_largefile.py')
| -rw-r--r-- | Lib/test/test_largefile.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Lib/test/test_largefile.py b/Lib/test/test_largefile.py index 21296cc..8870c72 100644 --- a/Lib/test/test_largefile.py +++ b/Lib/test/test_largefile.py @@ -5,12 +5,12 @@ import os import stat import sys import unittest -from test.support import TESTFN, requires, unlink +from test.support import TESTFN, requires, unlink, bigmemtest import io # C implementation of io import _pyio as pyio # Python implementation of io # size of file to create (>2 GiB; 2 GiB == 2,147,483,648 bytes) -size = 2500000000 +size = 2_500_000_000 class LargeFileTest: """Test that each file function works as expected for large @@ -45,6 +45,15 @@ class LargeFileTest: raise cls.failureException('File was not truncated by opening ' 'with mode "wb"') + # _pyio.FileIO.readall() uses a temporary bytearray then casted to bytes, + # so memuse=2 is needed + @bigmemtest(size=size, memuse=2, dry_run=False) + def test_large_read(self, _size): + # bpo-24658: Test that a read greater than 2GB does not fail. + with self.open(TESTFN, "rb") as f: + self.assertEqual(len(f.read()), size + 1) + self.assertEqual(f.tell(), size + 1) + def test_osstat(self): self.assertEqual(os.stat(TESTFN)[stat.ST_SIZE], size+1) |
