Mercurial > vim
view src/testdir/test_largefile.vim @ 9387:f094d4085014 v7.4.1975
commit https://github.com/vim/vim/commit/8767f52fbfd4f053ce00a978227c95f1d7d323fe
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 1 17:17:39 2016 +0200
patch 7.4.1975
Problem: On MS-Windows large files (> 2Gbyte) cause problems.
Solution: Use "off_T" instead of "off_t". Use "stat_T" instead of "struct
stat". Use 64 bit system functions if available. (Ken Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 01 Jul 2016 17:30:07 +0200 |
parents | |
children | c4aae9421aec |
line wrap: on
line source
" Tests for large files " This is only executed manually: "make test_largefile". " This is not run as part of "make test". func Test_largefile() let fname = 'Xlarge.txt' call delete(fname) exe "e" fname " Make sure that a line break is 1 byte (LF). set ff=unix set undolevels=-1 " Input 99 'A's. The line becomes 100 bytes including a line break. exe "normal 99iA\<Esc>" yank " Put 39,999,999 times. The file becomes 4,000,000,000 bytes. normal 39999999p " Moving around in the file randomly. normal G normal 10% normal 90% normal 50% normal gg w " Check if the file size is larger than 2^31 - 1 bytes. " Note that getfsize() returns -2 if a Number is 32 bits. let fsize=getfsize(fname) call assert_true(fsize > 2147483647 || fsize == -2) "call delete(fname) endfunc