mirror of
https://github.com/vim/vim.git
synced 2025-10-06 05:44:14 -04:00
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)
This commit is contained in:
@@ -1,20 +1,41 @@
|
|||||||
" Tests for stat functions and checktime
|
" Tests for stat functions and checktime
|
||||||
|
|
||||||
func Test_existent_file()
|
func CheckFileTime(doSleep)
|
||||||
let fname = 'Xtest.tmp'
|
let fname = 'Xtest.tmp'
|
||||||
|
let result = 0
|
||||||
|
|
||||||
let ts = localtime()
|
let ts = localtime()
|
||||||
|
if a:doSleep
|
||||||
|
sleep 1
|
||||||
|
endif
|
||||||
let fl = ['Hello World!']
|
let fl = ['Hello World!']
|
||||||
call writefile(fl, fname)
|
call writefile(fl, fname)
|
||||||
let tf = getftime(fname)
|
let tf = getftime(fname)
|
||||||
|
if a:doSleep
|
||||||
|
sleep 1
|
||||||
|
endif
|
||||||
let te = localtime()
|
let te = localtime()
|
||||||
|
|
||||||
call assert_true(ts <= tf && tf <= te)
|
let time_correct = (ts <= tf && tf <= te)
|
||||||
call assert_equal(strlen(fl[0] . "\n"), getfsize(fname))
|
if a:doSleep || time_correct
|
||||||
call assert_equal('file', getftype(fname))
|
call assert_true(time_correct)
|
||||||
call assert_equal('rw-', getfperm(fname)[0:2])
|
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)
|
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
|
endfunc
|
||||||
|
|
||||||
func Test_existent_directory()
|
func Test_existent_directory()
|
||||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
955,
|
||||||
/**/
|
/**/
|
||||||
954,
|
954,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user