summaryrefslogtreecommitdiffstats
path: root/src/testdir/Make_ming.mak
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/Make_ming.mak')
-rw-r--r--src/testdir/Make_ming.mak142
1 files changed, 142 insertions, 0 deletions
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
new file mode 100644
index 0000000..2ad34b9
--- /dev/null
+++ b/src/testdir/Make_ming.mak
@@ -0,0 +1,142 @@
+#
+# Makefile to run all tests for Vim, on Dos-like machines
+# with sh.exe or zsh.exe in the path or not.
+#
+# Author: Bill McCarthy
+#
+# Requires a set of Unix tools: echo, diff, etc.
+
+ifneq (sh.exe, $(SHELL))
+DEL = rm -f
+DELDIR = rm -rf
+MV = mv
+CP = cp
+CAT = cat
+DIRSLASH = /
+else
+DEL = del
+DELDIR = rd /s /q
+MV = rename
+CP = copy
+CAT = type
+DIRSLASH = \\
+endif
+
+VIMPROG = ..$(DIRSLASH)vim
+
+default: vimall
+
+include Make_all.mak
+
+# Omitted:
+# test2 "\\tmp" doesn't work.
+# test10 'errorformat' is different
+# test97 \{ and \$ are not escaped characters
+
+SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE4) $(SCRIPTS_WIN32)
+
+SCRIPTS_BENCH = bench_re_freeze.out
+
+# Must run test1 first to create small.vim.
+$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS_RES): $(SCRIPTS_FIRST)
+
+.SUFFIXES: .in .out .res .vim
+
+vimall: fixff $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) newtests
+ @echo ALL DONE
+
+nongui: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests
+ @echo ALL DONE
+
+benchmark: $(SCRIPTS_BENCH)
+
+small: nolog
+ @echo ALL DONE
+
+gui: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests
+ @echo ALL DONE
+
+win32: fixff nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) newtests
+ @echo ALL DONE
+
+# TODO: find a way to avoid changing the distributed files.
+fixff:
+ -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=dos|upd" +q *.in *.ok
+ -$(VIMPROG) -u dos.vim $(NO_INITS) "+argdo set ff=unix|upd" +q \
+ dotest.in
+
+clean:
+ -@if exist *.out $(DEL) *.out
+ -@if exist *.failed $(DEL) *.failed
+ -@if exist *.res $(DEL) *.res
+ -@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 $(DELDIR) Xdir1
+ -@if exist Xfind $(DELDIR) Xfind
+ -@if exist XfakeHOME $(DELDIR) XfakeHOME
+ -@if exist X* $(DEL) X*
+ -@if exist viminfo $(DEL) viminfo
+ -@if exist test.log $(DEL) test.log
+ -@if exist messages $(DEL) messages
+ -@if exist opt_test.vim $(DEL) opt_test.vim
+
+test1.out: test1.in
+ -@if exist wrongtermsize $(DEL) wrongtermsize
+ $(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in test1.in
+ -@if exist wrongtermsize ( \
+ echo Vim window too small- must be 80x25 or larger && exit 1 \
+ )
+ -@if exist test.out $(DEL) test.out
+ -@if exist viminfo $(DEL) viminfo
+
+.in.out:
+ -@if exist $*.ok $(CP) $*.ok test.ok
+ $(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in $*.in
+ @diff test.out $*.ok
+ -@if exist $*.out $(DEL) $*.out
+ @$(MV) test.out $*.out
+ -@if exist Xdir1 $(DELDIR) Xdir1
+ -@if exist Xfind $(DELDIR) Xfind
+ -@if exist XfakeHOME $(DELDIR) XfakeHOME
+ -@if exist X* $(DEL) X*
+ -@if exist test.ok $(DEL) test.ok
+ -@if exist viminfo $(DEL) viminfo
+
+nolog:
+ -@if exist test.log $(DEL) test.log
+ -@if exist messages $(DEL) messages
+
+bench_re_freeze.out: bench_re_freeze.vim
+ -$(DEL) benchmark.out
+ $(VIMPROG) -u dos.vim $(NO_INITS) $*.in
+ $(CAT) 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.
+# Limitation: Only works with the +eval feature.
+
+newtests: $(NEW_TESTS_RES)
+
+.vim.res:
+ @echo $(VIMPROG) > vimcmd
+ $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $*.vim
+ @$(DEL) vimcmd
+
+test_gui.res: test_gui.vim
+ @echo $(VIMPROG) > vimcmd
+ $(VIMPROG) -u NONE $(NO_INITS) -S runtest.vim $<
+ @$(DEL) vimcmd
+
+test_gui_init.res: test_gui_init.vim
+ @echo $(VIMPROG) > vimcmd
+ $(VIMPROG) -u gui_preinit.vim -U gui_init.vim $(NO_PLUGINS) -S runtest.vim $<
+ @$(DEL) vimcmd
+
+test_options.res test_alot.res: opt_test.vim
+
+opt_test.vim: ../option.c gen_opt_test.vim
+ $(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../option.c