# HG changeset patch # User Bram Moolenaar # Date 1371669451 -7200 # Node ID 5cd32322154c1c5970194eb5300eec2ddb8ccc30 # Parent 6027cd2c471ce579db61347c5337ae6da6dd6732 updated for version 7.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) diff --git a/src/testdir/test17.in b/src/testdir/test17.in --- 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 --- 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 --- 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 --- 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 --- 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,