summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-06-19 21:17:31 +0200
committerBram Moolenaar <Bram@vim.org>2013-06-19 21:17:31 +0200
commitd73895ec00b56e22bf4f95857aa88dd129e11d06 (patch)
tree97c0c39fe452394cb97fb7d9aa6b3763cf28c321
parent22f93c700f79577a395d28b186a900bae20fd5b9 (diff)
downloadvim-git-7.3.1223.tar.gz
updated for version 7.3.1223v7.3.1223
Problem: Tests fail on MS-Windows. Solution: Avoid depending on OS version. Use DOS commands instead of Unix commands. (Taro Muraoka, Ken Takata)
-rw-r--r--src/testdir/test17.in43
-rw-r--r--src/testdir/test50.in11
-rw-r--r--src/testdir/test71.in2
-rw-r--r--src/testdir/test77.in1
-rw-r--r--src/version.c2
5 files changed, 43 insertions, 16 deletions
diff --git a/src/testdir/test17.in b/src/testdir/test17.in
index 9c25e9991..9bc1d0227 100644
--- a/src/testdir/test17.in
+++ b/src/testdir/test17.in
@@ -9,6 +9,13 @@ STARTTEST
:else
: set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
:endif
+:function! DeleteDirectory(dir)
+: if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32")
+: exec "silent !rmdir /Q /S " . a:dir
+: else
+: exec "silent !rm -rf " . a:dir
+: endif
+:endfun
:if has("unix")
:let $CDIR = "."
/CDIR
@@ -20,6 +27,11 @@ STARTTEST
:endif
/TDIR
:endif
+:" Dummy writing for making that sure gf doesn't fail even if the current
+:" file is modified. It can be occurred when executing the following command
+:" directly on Windows without fixing the 'fileformat':
+:" > nmake -f Make_dos.mak test17.out
+:w! test.out
gf
:w! test.out
:brewind
@@ -31,10 +43,11 @@ ENDTEST
STARTTEST
:" check for 'include' without \zs or \ze
:lang C
-:!rm -f ./Xbase.a
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
-:e Xdir1/dir2/foo.a
+:call delete("./Xbase.a")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
+:e! Xdir1/dir2/foo.a
i#include "bar.a"
:w
:e Xdir1/dir2/bar.a
@@ -55,15 +68,16 @@ ENDTEST
STARTTEST
:" check for 'include' with \zs and \ze
-:!rm -f ./Xbase.b
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
+:call delete("./Xbase.b")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
:let &include='^\s*%inc\s*/\zs[^/]\+\ze'
:function! DotsToSlashes()
: return substitute(v:fname, '\.', '/', 'g') . '.b'
:endfunction
:let &includeexpr='DotsToSlashes()'
-:e Xdir1/dir2/foo.b
+:e! Xdir1/dir2/foo.b
i%inc /bar/
:w
:e Xdir1/dir2/bar.b
@@ -84,9 +98,10 @@ ENDTEST
STARTTEST
:" check for 'include' with \zs and no \ze
-:!rm -f ./Xbase.c
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
+:call delete("./Xbase.c")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
:let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
:function! StripNewlineChar()
: if v:fname =~ '\n$'
@@ -95,7 +110,7 @@ STARTTEST
: return v:fname
:endfunction
:let &includeexpr='StripNewlineChar()'
-:e Xdir1/dir2/foo.c
+:e! Xdir1/dir2/foo.c
i%inc bar.c
:w
:e Xdir1/dir2/bar.c
@@ -115,6 +130,10 @@ i%inc FALSE.c foo.c
:checkpath!
:redir END
:brewind
+:" replace "\" to "/" for Windows
+:e test.out
+:%s#\\#/#g
+:w
:q
ENDTEST
diff --git a/src/testdir/test50.in b/src/testdir/test50.in
index d78ac8e8f..0cbf4bf6d 100644
--- a/src/testdir/test50.in
+++ b/src/testdir/test50.in
@@ -33,7 +33,7 @@ endfun
" This could change for CygWin to //cygdrive/c
let dir1='c:/x.x.y'
if filereadable(dir1) || isdirectory(dir1)
- call confirm( "'".dir1."' exists, cannot run test" )
+ echo "FATAL: '".dir1."' exists, cannot run test"
return
endif
let file1=dir1.'/zz.y.txt'
@@ -41,13 +41,18 @@ endfun
let dir2=dir1.'/VimIsTheGreatestSinceSlicedBread'
let file2=dir2.'/z.txt'
let nofile2=dir2.'/zz.txt'
- let resdir1='c:/XX2235~1.Y'
+ call MakeDir( dir1 )
+ let resdir1 = substitute(fnamemodify(dir1, ':p:8'), '\\$', '', '')
+ if resdir1 !~ '\V\^c:/XX\x\x\x\x~1.Y\$'
+ echo "FATAL: unexpected short name: " . resdir1
+ echo "INFO: please report your OS to vim-dev"
+ return
+ endif
let resfile1=resdir1.'/ZZY~1.TXT'
let resnofile1=resdir1.'/z.y.txt'
let resdir2=resdir1.'/VIMIST~1'
let resfile2=resdir2.'/z.txt'
let resnofile2=resdir2.'/zz.txt'
- call MakeDir( dir1 )
call MakeDir( dir2 )
call MakeFile( file1 )
call MakeFile( file2 )
diff --git a/src/testdir/test71.in b/src/testdir/test71.in
index 7de293054..c7e0714e1 100644
--- a/src/testdir/test71.in
+++ b/src/testdir/test71.in
@@ -8,7 +8,7 @@ STARTTEST
:let cm0_bytes = getline('.', '.')
:/^start of cm=blowfish bytes/+1
:let cm1_bytes = getline('.', '.')
-:bwipe
+:bwipe!
:call append(0, text_lines)
:$d
:X
diff --git a/src/testdir/test77.in b/src/testdir/test77.in
index 8ac7e10fc..0dbc4fcba 100644
--- a/src/testdir/test77.in
+++ b/src/testdir/test77.in
@@ -23,6 +23,7 @@ ggdd
:w! Xtest
:r !cksum Xtest
:s/\s/ /g
+:set fileformat&
:.w! test.out
:qa!
ENDTEST
diff --git a/src/version.c b/src/version.c
index 2adb4886d..9a484dd08 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1223,
+/**/
1222,
/**/
1221,