annotate src/testdir/test_file_size.vim @ 20659:3437bf2ce2d4 v8.2.0883

patch 8.2.0883: memory leak in test 49 Commit: https://github.com/vim/vim/commit/5fbf3bc3f9d007ab91eb005f9e3da6570992cb43 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jun 1 21:13:11 2020 +0200 patch 8.2.0883: memory leak in test 49 Problem: Memory leak in test 49. Solution: Free "sfile" from the exception.
author Bram Moolenaar <Bram@vim.org>
date Mon, 01 Jun 2020 21:15:03 +0200
parents 1fad9675d8fd
children 08940efa6b4e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11961
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Inserts 2 million lines with consecutive integers starting from 1
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2 " (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 " and writes its cksum to test.out.
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
4 "
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 " We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 " up the lines the checksum would differ.
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 "
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 " cksum is part of POSIX and so should be available on most Unixes.
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 " If it isn't available then the test will be skipped.
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
10 func Test_File_Size()
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
11 if !executable('cksum')
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
12 return
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
13 endif
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
14
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
15 new
12644
1fad9675d8fd patch 8.0.1200: tests switch the bell off twice
Christian Brabandt <cb@256bit.org>
parents: 12560
diff changeset
16 set fileformat=unix undolevels=-1
11961
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17 for i in range(1, 2000000, 100)
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 call append(i, range(i, i + 99))
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
19 endfor
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 1delete
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 w! Xtest
11963
f1635be0e963 patch 8.0.0862: file size test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11961
diff changeset
23 let res = systemlist('cksum Xtest')[0]
f1635be0e963 patch 8.0.0862: file size test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11961
diff changeset
24 let res = substitute(res, "\r", "", "")
f1635be0e963 patch 8.0.0862: file size test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11961
diff changeset
25 call assert_equal('3678979763 14888896 Xtest', res)
11961
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
26
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
27 enew!
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
28 call delete('Xtest')
12644
1fad9675d8fd patch 8.0.1200: tests switch the bell off twice
Christian Brabandt <cb@256bit.org>
parents: 12560
diff changeset
29 set fileformat& undolevels&
11961
0240e7e3d736 patch 8.0.0861: still many old style tests
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
30 endfunc
12560
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
31
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
32 " Test for writing and reading a file of over 100 Kbyte
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
33 func Test_File_Read_Write()
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
34 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
35
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
36 " Create a file with the following contents
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
37 " 1 line: "This is the start"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
38 " 3001 lines: "This is the leader"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
39 " 1 line: "This is the middle"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
40 " 3001 lines: "This is the trailer"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
41 " 1 line: "This is the end"
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
42 call append(0, "This is the start")
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
43 call append(1, repeat(["This is the leader"], 3001))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
44 call append(3002, "This is the middle")
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
45 call append(3003, repeat(["This is the trailer"], 3001))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
46 call append(6004, "This is the end")
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
47
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
48 write! Xtest
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
49 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
50 edit! Xtest
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
51
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
52 call assert_equal("This is the start", getline(1))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
53 call assert_equal("This is the middle", getline(3003))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
54 call assert_equal("This is the end", getline(6005))
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
55
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
56 enew!
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
57 call delete("Xtest")
44aa2997239d patch 8.0.1158: still old style tests
Christian Brabandt <cb@256bit.org>
parents: 11963
diff changeset
58 endfunc