# HG changeset patch # User Bram Moolenaar # Date 1571601603 -7200 # Node ID b1a10a018f832c0be33af5d91e1457fecb234f33 # Parent 991d8bbaba1adbad77a5ba34807436374ea7988f patch 8.1.2196: MS-Windows: running tests with MSVC lacks updates Commit: https://github.com/vim/vim/commit/d53ebfc6246b2f29752adbda13cd2c11acca285a Author: Bram Moolenaar Date: Sun Oct 20 21:47:20 2019 +0200 patch 8.1.2196: MS-Windows: running tests with MSVC lacks updates Problem: MS-Windows: running tests with MSVC lacks updates. Solution: Improve running individual tests on MS-Windows. (closes https://github.com/vim/vim/issues/4922) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- a/src/Make_mvc.mak +++ b/src/Make_mvc.mak @@ -1279,6 +1279,17 @@ MAIN_TARGET = $(GVIM).exe $(VIM).exe $(V MAIN_TARGET = $(VIM).exe !endif +# Target to run individual tests. +VIMTESTTARGET = $(VIM).exe + +OLD_TEST_OUTFILES = \ + $(SCRIPTS_FIRST) \ + $(SCRIPTS_ALL) \ + $(SCRIPTS_MORE1) \ + $(SCRIPTS_MORE4) \ + $(SCRIPTS_WIN32) \ + $(SCRIPTS_GUI) + all: $(MAIN_TARGET) \ vimrun.exe \ install.exe \ @@ -1370,7 +1381,7 @@ tags: notags notags: - if exist tags del tags -clean: +clean: testclean - if exist $(OUTDIR)/nul $(DEL_TREE) $(OUTDIR) - if exist *.obj del *.obj - if exist $(VIM).exe del $(VIM).exe @@ -1405,7 +1416,6 @@ clean: cd GvimExt $(MAKE) /NOLOGO -f Makefile clean cd .. - - if exist testdir\*.out del testdir\*.out test: cd testdir @@ -1422,13 +1432,24 @@ testclean: $(MAKE) /NOLOGO -f Make_dos.mak clean cd .. +# Run individual OLD style test. +# These do not depend on the executable, compile it when needed. +$(OLD_TEST_OUTFILES:.out=): + cd testdir + - if exist $@.out del $@.out + $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog + $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) $@.out + @ if exist test.log ( type test.log & exit /b 1 ) + cd .. + +# Run individual NEW style test. +# These do not depend on the executable, compile it when needed. $(NEW_TESTS): cd testdir - if exist $@.res del $@.res - $(MAKE) /NOLOGO -f Make_dos.mak nolog - $(MAKE) /NOLOGO -f Make_dos.mak $@.res - $(MAKE) /NOLOGO -f Make_dos.mak report - type messages + $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) nolog + $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) $@.res + $(MAKE) /NOLOGO -f Make_dos.mak VIMPROG=..\$(VIMTESTTARGET) report cd .. ########################################################################### diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -69,9 +69,14 @@ win32: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST) report: - @echo "" + @rem without the +eval feature test_result.log is a copy of test.log + @if exist test.log ( copy /y test.log test_result.log > nul ) \ + else ( echo No failures reported > test_result.log ) + $(VIMPROG) -u NONE $(NO_INITS) -S summarize.vim messages + @echo. @echo Test results: - @if exist test.log ( type test.log & echo TEST FAILURE & exit /b 1 ) \ + @type test_result.log + @if exist test.log ( echo TEST FAILURE & exit /b 1 ) \ else ( echo ALL DONE ) clean: @@ -92,12 +97,14 @@ clean: -for /d %i in (X*) do @rmdir /s/q %i -if exist viminfo del viminfo -if exist test.log del test.log + -if exist test_result.log del test_result.log -if exist messages del messages -if exist benchmark.out del benchmark.out -if exist opt_test.vim del opt_test.vim nolog: -if exist test.log del test.log + -if exist test_result.log del test_result.log -if exist messages del messages benchmark: diff --git a/src/version.c b/src/version.c --- 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 */ /**/ + 2196, +/**/ 2195, /**/ 2194,