forked from aniani/vim
Problem: Still too many old style tests.
Solution: Convert a few more tests to new style. (Yegappan Lakshmanan,
closes #2272)
134 lines
3.4 KiB
Makefile
134 lines
3.4 KiB
Makefile
#
|
|
# 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): $(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 test_listchars.ok \
|
|
test_wordcount.ok
|
|
|
|
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 lua.vim $(DEL) lua.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
|
|
|
|
.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)
|
|
|
|
.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
|
|
|
|
opt_test.vim: ../option.c gen_opt_test.vim
|
|
$(VIMPROG) -u NONE -S gen_opt_test.vim --noplugin --not-a-term ../option.c
|