diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-06-19 21:17:31 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-06-19 21:17:31 +0200 |
commit | d73895ec00b56e22bf4f95857aa88dd129e11d06 (patch) | |
tree | 97c0c39fe452394cb97fb7d9aa6b3763cf28c321 /src/testdir | |
parent | 22f93c700f79577a395d28b186a900bae20fd5b9 (diff) | |
download | vim-git-d73895ec00b56e22bf4f95857aa88dd129e11d06.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)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test17.in | 43 | ||||
-rw-r--r-- | src/testdir/test50.in | 11 | ||||
-rw-r--r-- | src/testdir/test71.in | 2 | ||||
-rw-r--r-- | src/testdir/test77.in | 1 |
4 files changed, 41 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 |