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 )