blob: 05978ade2fad219e6209545545cd62b65a32703f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
#
# Makefile to run all tests for Vim, on Dos-like machines.
#
# Requires a set of Unix tools: echo, diff, etc.
VIMPROG = ..\\vim
default: nongui
!include Make_all.mak
# Omitted:
# test2 "\\tmp" doesn't work.
# test10 'errorformat' is different
# test12 can't unlink a swap file
# test25 uses symbolic link
# test49 fails in various ways
# test97 \{ and \$ are not escaped characters.
SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4)
TEST_OUTFILES = $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) $(SCRIPTS_GUI)
DOSTMP = dostmp
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
.SUFFIXES: .in .out .res .vim
nongui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests report
small: nolog report
gui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests report
win32: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) newtests report
# Copy the input files to dostmp, changing the fileformat to dos.
$(DOSTMP_INFILES): $(*B).in
if not exist $(DOSTMP)\NUL md $(DOSTMP)
if exist $@ del $@
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=dos|f $@|wq" $(*B).in
# For each input file dostmp/test99.in run the tests.
# This moves test99.in to test99.in.bak temporarily.
$(TEST_OUTFILES): $(DOSTMP)\$(*B).in
-@if exist test.out DEL test.out
-@if exist $(DOSTMP)\$(*B).out DEL $(DOSTMP)\$(*B).out
move $(*B).in $(*B).in.bak > nul
copy $(DOSTMP)\$(*B).in $(*B).in > nul
copy $(*B).ok test.ok > nul
$(VIMPROG) -u dos.vim $(NO_INITS) -s dotest.in $(*B).in
-@if exist test.out MOVE /y test.out $(DOSTMP)\$(*B).out > nul
-@if exist $(*B).in.bak move /y $(*B).in.bak $(*B).in > nul
-@if exist test.ok del test.ok
-@if exist Xdir1 rd /s /q Xdir1
-@if exist Xfind rd /s /q Xfind
-@if exist XfakeHOME rd /s /q XfakeHOME
-@del X*
-@if exist viminfo del viminfo
$(VIMPROG) -u dos.vim $(NO_INITS) "+set ff=unix|f test.out|wq" \
$(DOSTMP)\$(*B).out
@diff test.out $*.ok & if errorlevel 1 \
( move /y test.out $*.failed > nul \
& del $(DOSTMP)\$(*B).out \
& 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): $(SCRIPTS_FIRST)
report:
@echo ""
@echo Test results:
@if exist test.log ( type 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 lua.vim del lua.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 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 messages del messages
benchmark:
bench_re_freeze.out
bench_re_freeze.out: bench_re_freeze.vim
-if exist benchmark.out del benchmark.out
$(VIMPROG) -u dos.vim $(NO_INITS) $*.in
@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.
# 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 $*.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 $*.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
|