patch 8.2.1439: tiny and small builds have no test coverage
Problem: Tiny and small builds have no test coverage.
Solution: Restore tests that do not depend on the +eval feature.
(Ken Takata, closes #6696)
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 5931da2..7ba6cf7 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -9,20 +9,80 @@
!include Make_all.mak
-TEST_OUTFILES = $(SCRIPTS_FIRST)
+# Explicit dependencies.
+test_options.res test_alot.res: opt_test.vim
+
+TEST_OUTFILES = $(SCRIPTS_TINY_OUT)
DOSTMP = dostmp
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
.SUFFIXES: .in .out .res .vim
-nongui: nolog $(SCRIPTS_FIRST) newtests report
+nongui: nolog tinytests newtests report
-small: nolog report
+gui: nolog tinytests newtests report
-gui: nolog $(SCRIPTS_FIRST) newtests report
+tiny: nolog tinytests report
-win32: nolog $(SCRIPTS_FIRST) newtests report
+benchmark: $(SCRIPTS_BENCH)
+
+report:
+ @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:
+ @cmd /c type test_result.log
+ @if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
+ else ( echo ALL DONE )
+
+
+# Execute an individual new style test, e.g.:
+# nmake -f Make_dos.mak test_largefile
+$(NEW_TESTS):
+ -if exist $@.res del $@.res
+ -if exist test.log del test.log
+ -if exist messages del messages
+ @$(MAKE) -nologo -f Make_dos.mak $@.res VIMPROG=$(VIMPROG)
+ @type messages
+ @if exist test.log exit 1
+
+
+# Delete files that may interfere with running tests. This includes some files
+# that may result from working on the tests, not only from running them.
+clean:
+ -if exist *.out $(DEL) *.out
+ -if exist *.failed $(DEL) *.failed
+ -if exist *.res $(DEL) *.res
+ -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
+ -if exist mbyte.vim del mbyte.vim
+ -if exist mzscheme.vim del mzscheme.vim
+ -if exist Xdir1 rd /s /q Xdir1
+ -if exist Xfind rd /s /q Xfind
+ -if exist XfakeHOME rd /s /q XfakeHOME
+ -if exist X* $(DEL) X*
+ -for /d %i in (X*) do @rd /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
+
+
+# Tiny tests. Works even without the +eval feature.
+tinytests: $(SCRIPTS_TINY_OUT)
# Copy the input files to dostmp, changing the fileformat to dos.
$(DOSTMP_INFILES): $(*B).in
@@ -55,58 +115,6 @@
& echo $* FAILED >> test.log ) \
else ( move /y test.out $*.out > nul )
-# Must run test1 first to create small.vim.
-# This rule must come after the one that copies the input files to dostmp to
-# allow for running an individual test.
-$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
-
-report:
- @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:
- @cmd /c type test_result.log
- @if exist test.log ( echo TEST FAILURE & exit /b 1 ) \
- else ( echo ALL DONE )
-
-clean:
- -del *.out
- -del *.failed
- -del *.res
- -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
- -if exist mbyte.vim del mbyte.vim
- -if exist mzscheme.vim del mzscheme.vim
- -if exist Xdir1 rd /s /q Xdir1
- -if exist Xfind rd /s /q Xfind
- -if exist XfakeHOME rd /s /q XfakeHOME
- -del X*
- -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: test_bench_regexp.res
-
-test_bench_regexp.res: test_bench_regexp.vim
- -if exist benchmark.out del benchmark.out
- @echo $(VIMPROG) > vimcmd
- $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
- @del vimcmd
- @IF EXIST benchmark.out ( type benchmark.out )
# New style of tests uses Vim script with assert calls. These are easier
# to write and a lot easier to read and debug.
@@ -132,7 +140,12 @@
$(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $*.vim
@del vimcmd
-test_options.res test_alot.res: opt_test.vim
-
opt_test.vim: ../optiondefs.h gen_opt_test.vim
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../optiondefs.h
+
+test_bench_regexp.res: test_bench_regexp.vim
+ -if exist benchmark.out del benchmark.out
+ @echo $(VIMPROG) > vimcmd
+ $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
+ @del vimcmd
+ @IF EXIST benchmark.out ( type benchmark.out )