1#
2# Makefile to run all tests for Vim
3#
4
5VimProg ?= ../vim
6
7Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
8		test7.out test8.out test9.out test10.out test11.out
9		test12.out  test13.out test14.out test15.out test17.out
10		test18.out test19.out test20.out test21.out test22.out
11		test23.out test24.out test25.out test26.out test27.out
12		test28.out test29.out test30.out test31.out test32.out
13		test33.out test34.out test35.out test36.out test37.out
14		test38.out test39.out test40.out test41.out test42.out
15		test43.out test44.out test45.out test46.out test47.out
16		test48.out test49.out
17
18ScriptsGUI = test16.out
19
20# Build "nongui" when no target was specified.
21nongui:	newlog $Scripts
22	:print
23	:cat test.log
24	:print ALL DONE
25
26# Build "ngui" when specified.
27gui:	newlog $Scripts $ScriptsGUI
28	:print
29	:cat test.log
30	:print ALL DONE
31
32$Scripts $ScriptsGUI: $VimProg
33
34clean:
35	:del {r}{force} *.out test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X*
36
37# test1 is special, it checks for features
38test1.out: test1.in
39	:del {force} test1.failed tiny.vim small.vim mbyte.vim mzscheme.vim
40	:sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in test1.in
41	@if os.system("diff test.out test1.ok") != 0:
42		:error test1 FAILED - Something basic is wrong
43	:move {force} test.out test1.out
44	:del {r}{force} X*
45
46:rule %.out : %.in
47	:del {force} $(match).failed test.ok
48	:copy $(match).ok test.ok
49	:sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in $(match).in
50	@if os.system("diff test.out " + match + ".ok") != 0:
51		:print $match FAILED >>test.log
52		:move {force} test.out $(match).failed
53	@else:
54		:move {force} test.out $(match).out
55	:del {r}{force} X* test.ok
56
57newlog:
58	:print Test results: >! test.log
59