summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-02-27 21:11:02 +0100
committerBram Moolenaar <Bram@vim.org>2015-02-27 21:11:02 +0100
commit13cf77ba1715803355029ed119e55a12f6865db1 (patch)
tree4670a77b744b21cb2ca371de6b8f5be65a8b5581
parente25bb90b2eb0ceed2caa5202ca62003e367021ae (diff)
downloadvim-git-13cf77ba1715803355029ed119e55a12f6865db1.tar.gz
updated for version 7.4.647v7.4.647
Problem: After running the tests on MS-Windows many files differ from their originals as they were checked out. Solution: Use a temp directory for executing the tests. (Ken Takata, Taro Muraoka)
-rw-r--r--.gitignore2
-rw-r--r--src/testdir/Make_dos.mak79
-rw-r--r--src/version.c2
3 files changed, 53 insertions, 30 deletions
diff --git a/.gitignore b/.gitignore
index f247dd198..f0db64d17 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,5 +69,7 @@ src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
+src/testdir/test*.failed
src/testdir/test.log
+src/testdir/dostmp/*
src/memfile_test
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 51574deeb..55bf77ec6 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -56,32 +56,64 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
SCRIPTS32 = test50.out test70.out
-SCRIPTS_GUI = test16.out
+SCRIPTS_GUI = test16.out
-.SUFFIXES: .in .out
-
-nongui: fixff $(SCRIPTS16) $(SCRIPTS) report
-
-small: report
-
-gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) report
+TEST_OUTFILES = $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) $(SCRIPTS_GUI)
+DOSTMP = dostmp
+DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
+DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
-win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) report
+.SUFFIXES: .in .out
-fixff:
- -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok
- -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=unix|upd" +q \
- dotest.in test60.ok test71.ok test74.ok test100.ok
+nongui: nolog $(SCRIPTS16) $(SCRIPTS) report
+
+small: nolog report
+
+gui: nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) report
+
+win32: nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) report
+
+# Copy the input files to dostmp, changing the fileformat to dos.
+$(DOSTMP_INFILES): $(*B).in
+ if not exist $(DOSTMP)\NUL md $(DOSTMP)
+ if exist $@ del $@
+ $(VIMPROG) -u dos.vim --noplugin "+set ff=dos|f $@|wq" $(*B).in
+
+# For each input file dostmp/test99.in run the tests.
+# This moves test99.in to test99.in.bak temporarily.
+$(TEST_OUTFILES): $(DOSTMP)\$(*B).in
+ -@if exist test.out DEL test.out
+ move $(*B).in $(*B).in.bak
+ copy $*.in $(*B).in
+ copy $(DOSTMP)\$(*B).in $(*B).in
+ copy $(*B).ok test.ok
+ $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $(*B).in
+ -@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out
+ -@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in
+ -@del X*
+ -@if exist test.ok del test.ok
+ -@if exist Xdir1 rd /s /q Xdir1
+ -@if exist Xfind rd /s /q Xfind
+ -@if exist viminfo del viminfo
+ $(VIMPROG) -u dos.vim --noplugin "+set ff=unix|f test.out|wq" \
+ $(DOSTMP)\$(*B).out
+ @diff test.out $*.ok & if errorlevel 1 \
+ ( move /y test.out $*.failed \
+ & del $(DOSTMP)\$(*B).out \
+ & echo $* FAILED >> test.log ) \
+ else ( move /y test.out $*.out )
report:
@echo ""
@echo Test results:
- @IF EXIST test.log ( type test.log & echo TEST FAILURE & exit /b 1 ) \
- ELSE ( ECHO ALL DONE )
+ @if exist test.log ( type test.log & echo TEST FAILURE & exit /b 1 ) \
+ else ( echo ALL DONE )
clean:
-del *.out
-del *.failed
+ -if exist $(DOSTMP) rd /s /q $(DOSTMP)
+ -if exist test.in del test.in
-if exist test.ok del test.ok
-if exist small.vim del small.vim
-if exist tiny.vim del tiny.vim
@@ -92,24 +124,11 @@ clean:
-if exist Xdir1 rd /s /q Xdir1
-if exist Xfind rd /s /q Xfind
-if exist viminfo del viminfo
- -del test.log
+ -if exist test.log del test.log
-if exist benchmark.out del benchmark.out
-.in.out:
- -if exist $*.failed del $*.failed
- copy $*.ok test.ok
- $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in
- @diff test.out $*.ok & if errorlevel 1 \
- ( move /y test.out $*.failed & echo $* FAILED >> test.log ) \
- else ( move /y test.out $*.out )
- -del X*
- -del test.ok
- -if exist Xdir1 rd /s /q Xdir1
- -if exist Xfind rd /s /q Xfind
- -if exist viminfo del viminfo
-
nolog:
- -del test.log
+ -if exist test.log del test.log
benchmark:
bench_re_freeze.out
diff --git a/src/version.c b/src/version.c
index 53b6cdb1e..21215ae3a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 647,
+/**/
646,
/**/
645,