diff src/testdir/test_file_size.vim @ 11961:0240e7e3d736 v8.0.0861

patch 8.0.0861: still many old style tests commit https://github.com/vim/vim/commit/4a137b45864310060410f34cb9c7d0f0231bb256 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 4 22:37:11 2017 +0200 patch 8.0.0861: still many old style tests Problem: Still many old style tests. Solution: Convert several tests to new style. (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Fri, 04 Aug 2017 22:45:04 +0200
parents
children f1635be0e963
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/testdir/test_file_size.vim
@@ -0,0 +1,29 @@
+" Inserts 2 million lines with consecutive integers starting from 1
+" (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
+" and writes its cksum to test.out.
+"
+" We need 2 million lines to trigger a call to mf_hash_grow().  If it would mess
+" up the lines the checksum would differ.
+"
+" cksum is part of POSIX and so should be available on most Unixes.
+" If it isn't available then the test will be skipped.
+func Test_File_Size()
+  if !executable('cksum')
+      return
+  endif
+  set belloff=all fileformat=unix undolevels=-1
+
+  new
+  for i in range(1, 2000000, 100)
+      call append(i, range(i, i + 99))
+  endfor
+
+  1delete
+  w! Xtest
+  let l = systemlist('cksum Xtest')
+  call assert_equal('3678979763 14888896 Xtest', l[0])
+
+  enew!
+  call delete('Xtest')
+  set belloff& fileformat& undolevels&
+endfunc