Permalink
Browse files

patch 8.0.0955: Test_existent_file() fails on some file systems

Problem:    Test_existent_file() fails on some file systems.
Solution:   Run the test again with a sleep when the test fails without a
            sleep. (James McCoy, closes #1984)
  • Loading branch information...
brammool committed Aug 17, 2017
1 parent bc906e4 commit 82de3c2c036bc89c2d9bdea236e0a7f1208a5571
Showing with 28 additions and 5 deletions.
  1. +26 −5 src/testdir/test_stat.vim
  2. +2 −0 src/version.c
View
@@ -1,20 +1,41 @@
" Tests for stat functions and checktime
func Test_existent_file()
func CheckFileTime(doSleep)
let fname = 'Xtest.tmp'
let result = 0
let ts = localtime()
if a:doSleep
sleep 1
endif
let fl = ['Hello World!']
call writefile(fl, fname)
let tf = getftime(fname)
if a:doSleep
sleep 1
endif
let te = localtime()
call assert_true(ts <= tf && tf <= te)
call assert_equal(strlen(fl[0] . "\n"), getfsize(fname))
call assert_equal('file', getftype(fname))
call assert_equal('rw-', getfperm(fname)[0:2])
let time_correct = (ts <= tf && tf <= te)
if a:doSleep || time_correct
call assert_true(time_correct)
call assert_equal(strlen(fl[0] . "\n"), getfsize(fname))
call assert_equal('file', getftype(fname))
call assert_equal('rw-', getfperm(fname)[0:2])
let result = 1
endif
call delete(fname)
return result
endfunc
func Test_existent_file()
" On some systems the file timestamp is rounded to a multiple of 2 seconds.
" We need to sleep to handle that, but that makes the test slow. First try
" without the sleep, and if it fails try again with the sleep.
if CheckFileTime(0) == 0
call CheckFileTime(1)
endif
endfunc
func Test_existent_directory()
View
@@ -769,6 +769,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
955,
/**/
954,
/**/

0 comments on commit 82de3c2

Please sign in to comment.