Skip to content

Commit addc156

Browse files
committed
patch 8.1.0536: file time test fails when using NFS
Problem: File time test fails when using NFS. Solution: Use three file times instead of localtim(). (James McCoy, closes #3618)
1 parent 6b73188 commit addc156

2 files changed

Lines changed: 21 additions & 17 deletions

File tree

src/testdir/test_stat.vim

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
11
" Tests for stat functions and checktime
22

33
func CheckFileTime(doSleep)
4-
let fname = 'Xtest.tmp'
4+
let fnames = ['Xtest1.tmp', 'Xtest2.tmp', 'Xtest3.tmp']
5+
let times = []
56
let result = 0
67

7-
let ts = localtime()
8-
if a:doSleep
9-
sleep 1
10-
endif
8+
" Use three files istead of localtim(), with a network filesystem the file
9+
" times may differ at bit
1110
let fl = ['Hello World!']
12-
call writefile(fl, fname)
13-
let tf = getftime(fname)
14-
if a:doSleep
15-
sleep 1
16-
endif
17-
let te = localtime()
11+
for fname in fnames
12+
call writefile(fl, fname)
13+
call add(times, getftime(fname))
14+
if a:doSleep
15+
sleep 1
16+
endif
17+
endfor
1818

19-
let time_correct = (ts <= tf && tf <= te)
19+
let time_correct = (times[0] <= times[1] && times[1] <= times[2])
2020
if a:doSleep || time_correct
21-
call assert_true(time_correct)
22-
call assert_equal(strlen(fl[0] . "\n"), getfsize(fname))
23-
call assert_equal('file', getftype(fname))
24-
call assert_equal('rw-', getfperm(fname)[0:2])
21+
call assert_true(time_correct, printf('Expected %s <= %s <= %s', times[0], times[1], times[2]))
22+
call assert_equal(strlen(fl[0] . "\n"), getfsize(fnames[0]))
23+
call assert_equal('file', getftype(fnames[0]))
24+
call assert_equal('rw-', getfperm(fnames[0])[0:2])
2525
let result = 1
2626
endif
2727

28-
call delete(fname)
28+
for fname in fnames
29+
call delete(fname)
30+
endfor
2931
return result
3032
endfunc
3133

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,8 @@ static char *(features[]) =
792792

793793
static int included_patches[] =
794794
{ /* Add new patch number below this line */
795+
/**/
796+
536,
795797
/**/
796798
535,
797799
/**/

0 commit comments

Comments
 (0)