blob: 9a93e21a75e088cf34e2b91b4ef539a22b2a453b [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001#
2# Makefile to run all tests for Vim on VMS
3#
4# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
5# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
6#
Bram Moolenaar7b6156f2015-12-28 16:01:26 +01007# Last change: 2015 Dec 28
Bram Moolenaar071d4272004-06-13 20:20:40 +00008#
Bram Moolenaarac98e5d2008-09-01 14:51:37 +00009# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
Bram Moolenaar071d4272004-06-13 20:20:40 +000010# Edit the lines in the Configuration section below to select.
11#
12# Execute with:
13# mms/descrip=Make_vms.mms
14# Cleanup with:
15# mms/descrip=Make_vms.mms clean
16#
17# Make files are MMK compatible.
18#
19# NOTE: You can run this script just in X/Window environment. It will
20# create a new terminals, therefore you have to set up your DISPLAY
21# logical. More info in VMS documentation or with: help set disp.
22#
23#######################################################################
24# Configuration section.
25#######################################################################
26
27# Uncomment if you want tests in GUI mode. Terminal mode is default.
28# WANT_GUI = YES
29
30# Comment out if you want to run Unix specific tests as well, but please
31# be aware, that on OpenVMS will fail, because of cat, rm, etc commands
32# and directory handling.
33# WANT_UNIX = YES
34
Bram Moolenaarac98e5d2008-09-01 14:51:37 +000035# Comment out if you want to run Win32 specific tests as well, but please
36# be aware, that on OpenVMS will fail, because of cat, rm, etc commands
37# and directory handling.
38# WANT_WIN = YES
39
40# Comment out if you want to run spell checker tests.
41# They fail because VMS does not support file names.
42# WANT_SPELL = YES
43
Bram Moolenaar206f0112014-03-12 16:51:55 +010044# Comment out if you want to run mzschema tests.
Bram Moolenaarf878bcf2010-07-30 22:29:41 +020045# It fails because VMS does not support this feature yet.
46# WANT_MZSCH = YES
47
Bram Moolenaarb96a7f32014-11-27 16:22:48 +010048# Comment out if you have ODS-5 file system
Bram Moolenaar206f0112014-03-12 16:51:55 +010049# HAVE_ODS5 = YES
50
Bram Moolenaar071d4272004-06-13 20:20:40 +000051# Comment out if you have gzip on your system
52# HAVE_GZIP = YES
53
54# Comment out if you have GNU compatible diff on your system
55# HAVE_GDIFF = YES
56
Bram Moolenaarb96a7f32014-11-27 16:22:48 +010057# Comment out if you have GNU compatible cksum on your system
Bram Moolenaar206f0112014-03-12 16:51:55 +010058# HAVE_CKSUM = YES
59
Bram Moolenaarb96a7f32014-11-27 16:22:48 +010060# Comment out if you have ICONV support
Bram Moolenaar206f0112014-03-12 16:51:55 +010061# HAVE_ICONV = YES
62
63# Comment out if you have LUA support
64# HAVE_LUA = YES
65
66# Comment out if you have PYTHON support
67# HAVE_PYTHON = YES
68
Bram Moolenaar071d4272004-06-13 20:20:40 +000069#######################################################################
70# End of configuration section.
71#
72# Please, do not change anything below without programming experience.
73#######################################################################
74
75VIMPROG = <->vim.exe
76
Bram Moolenaar40bbcee2015-12-28 22:24:41 +010077default : all
78
Bram Moolenaar7b6156f2015-12-28 16:01:26 +010079# This probably doesn't work, please fix.
80.INCLUDE Make_all.mak
81
Bram Moolenaar071d4272004-06-13 20:20:40 +000082.SUFFIXES : .out .in
83
Bram Moolenaar7b6156f2015-12-28 16:01:26 +010084SCRIPT = $(SCRIPTS_ALL) $(SCRIPTS_MORE3)
Bram Moolenaarf878bcf2010-07-30 22:29:41 +020085
86# Known problems:
Bram Moolenaar206f0112014-03-12 16:51:55 +010087# test17: ?
Bram Moolenaarf878bcf2010-07-30 22:29:41 +020088#
Bram Moolenaar206f0112014-03-12 16:51:55 +010089# test30: bug, most probably - a problem around mac format
90#
91# test32: VMS is not case sensitive and all filenames are lowercase within Vim
Bram Moolenaarf878bcf2010-07-30 22:29:41 +020092# (this should be changed in order to preserve the original filename) - should
93# be fixed. VMS allows just one dot in the filename
94#
Bram Moolenaar206f0112014-03-12 16:51:55 +010095# test58, test59: Failed/Hangs - VMS does not support spell files (file names
Bram Moolenaarf878bcf2010-07-30 22:29:41 +020096# with too many dots).
97#
Bram Moolenaar206f0112014-03-12 16:51:55 +010098# test72: bug - Vim hangs at :rename (while rename works well otherwise)
99# test78: bug - Vim dies at :recover Xtest
100# test83: ?
101# test85: no Lua interface
102# test89: bug - findfile() does not work on VMS (just in the current directory)
103# test97, test102: Just ODS-5 supports space and special chars in the filename.
104# On ODS-2 tests fail.
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105
106.IFDEF WANT_GUI
107SCRIPT_GUI = test16.out
108GUI_OPTION = -g
109.ENDIF
110
111.IFDEF WANT_UNIX
Bram Moolenaar206f0112014-03-12 16:51:55 +0100112SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out
Bram Moolenaarac98e5d2008-09-01 14:51:37 +0000113.ENDIF
114
115.IFDEF WANT_WIN
116SCRIPT_WIN = test50.out test52.out
117.ENDIF
118
119.IFDEF WANT_SPELL
120SCRIPT_SPELL = test58.out test59.out
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121.ENDIF
122
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200123.IFDEF WANT_MZSCH
124SCRIPT_MZSCH = test70.out
125.ENDIF
126
Bram Moolenaar206f0112014-03-12 16:51:55 +0100127.IFDEF HAVE_ODS5
128SCRIPT_ODS5 = test97.out test102.out
129.ENDIF
130
Bram Moolenaar071d4272004-06-13 20:20:40 +0000131.IFDEF HAVE_GZIP
132SCRIPT_GZIP = test11.out
133.ENDIF
134
135.IFDEF HAVE_GDIFF
136SCRIPT_GDIFF = test47.out
137.ENDIF
138
Bram Moolenaar206f0112014-03-12 16:51:55 +0100139.IFDEF HAVE_CKSUM
140SCRIPT_CKSUM = test77.out
141.ENDIF
142
143.IFDEF HAVE_ICONV
144SCRIPT_ICONV = test83.out
145.ENDIF
146
147.IFDEF HAVE_LUA
148SCRIPT_LUA = test85.out
149.ENDIF
150
151.IFDEF HAVE_PYTHON
152SCRIPT_PYTHON = test86.out test87.out
153.ENDIF
154
Bram Moolenaar071d4272004-06-13 20:20:40 +0000155.in.out :
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200156 -@ !clean up before doing the test
157 -@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
158 -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then delete/noconfirm/nolog $*.out.*
Bram Moolenaar206f0112014-03-12 16:51:55 +0100159 -@ ! define TMP if not set - some tests use it
160 -@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP []
Bram Moolenaar071d4272004-06-13 20:20:40 +0000161 -@ write sys$output " "
162 -@ write sys$output "-----------------------------------------------"
163 -@ write sys$output " "$*" "
164 -@ write sys$output "-----------------------------------------------"
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200165 -@ !run the test
166 -@ create/term/wait/nodetach mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
167 -@ !analyse the result
168 -@ directory /size/date test.out
169 -@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename/nolog test.out $*.out
170 -@ if "''F$SEARCH("$*.out.*")'" .NES. "" then differences /par $*.out $*.ok;
171 -@ !clean up after the test
Bram Moolenaar071d4272004-06-13 20:20:40 +0000172 -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
Bram Moolenaar206f0112014-03-12 16:51:55 +0100173 -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
Bram Moolenaar071d4272004-06-13 20:20:40 +0000174
Bram Moolenaara6082432015-12-28 16:26:45 +0100175all : clean nolog $(SCRIPTS_FIRST) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
Bram Moolenaar206f0112014-03-12 16:51:55 +0100176 $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
Bram Moolenaar071d4272004-06-13 20:20:40 +0000177 -@ write sys$output " "
178 -@ write sys$output "-----------------------------------------------"
179 -@ write sys$output " All done"
180 -@ write sys$output "-----------------------------------------------"
181 -@ deassign sys$output
182 -@ delete/noconfirm/nolog x*.*.*
183 -@ type test.log
184
185nolog :
186 -@ define sys$output test.log
187 -@ write sys$output "-----------------------------------------------"
188 -@ write sys$output " Standard VIM test cases"
189 -@ write sys$output "-----------------------------------------------"
190 -@ write sys$output " OpenVMS version: ''F$GETSYI("VERSION")'"
191 -@ write sys$output " Vim version:"
192 -@ mcr $(VIMPROG) --version
193 -@ write sys$output " Test date:"
194 -@ show time
195 -@ write sys$output "-----------------------------------------------"
196 -@ write sys$output " Test results:"
197 -@ write sys$output "-----------------------------------------------"
198 -@ write sys$output "MAKE_VMS.MMS options:"
Bram Moolenaar206f0112014-03-12 16:51:55 +0100199 -@ write sys$output " WANT_GUI = ""$(WANT_GUI)"" "
200 -@ write sys$output " WANT_UNIX = ""$(WANT_UNIX)"" "
201 -@ write sys$output " WANT_WIN = ""$(WANT_WIN)"" "
202 -@ write sys$output " WANT_SPELL = ""$(WANT_SPELL)"" "
203 -@ write sys$output " WANT_MZSCH = ""$(WANT_MZSCH)"" "
204 -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" "
205 -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
206 -@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
207 -@ write sys$output " HAVE_CKSUM = ""$(HAVE_CKSUM)"" "
208 -@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" "
209 -@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" "
210 -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200211 -@ write sys$output "Default vimrc file is VMS.VIM:"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000212 -@ write sys$output "-----------------------------------------------"
213 -@ type VMS.VIM
214
215clean :
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200216 -@ if "''F$SEARCH("*.out")'" .NES. "" then delete/noconfirm/nolog *.out.*
217 -@ if "''F$SEARCH("test.log")'" .NES. "" then delete/noconfirm/nolog test.log.*
218 -@ if "''F$SEARCH("test.ok")'" .NES. "" then delete/noconfirm/nolog test.ok.*
219 -@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
Bram Moolenaar206f0112014-03-12 16:51:55 +0100220 -@ if "''F$SEARCH("Xtest*.*")'" .NES. "" then delete/noconfirm/nolog Xtest*.*.*
221 -@ if "''F$SEARCH("XX*.*")'" .NES. "" then delete/noconfirm/nolog XX*.*.*
222 -@ if "''F$SEARCH("_un_*.*")'" .NES. "" then delete/noconfirm/nolog _un_*.*.*
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200223 -@ if "''F$SEARCH("*.*_sw*")'" .NES. "" then delete/noconfirm/nolog *.*_sw*.*
224 -@ if "''F$SEARCH("*.failed")'" .NES. "" then delete/noconfirm/nolog *.failed.*
225 -@ if "''F$SEARCH("*.rej")'" .NES. "" then delete/noconfirm/nolog *.rej.*
226 -@ if "''F$SEARCH("tiny.vim")'" .NES. "" then delete/noconfirm/nolog tiny.vim.*
227 -@ if "''F$SEARCH("small.vim")'" .NES. "" then delete/noconfirm/nolog small.vim.*
228 -@ if "''F$SEARCH("mbyte.vim")'" .NES. "" then delete/noconfirm/nolog mbyte.vim.*
229 -@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
Bram Moolenaar206f0112014-03-12 16:51:55 +0100230 -@ if "''F$SEARCH("lua.vim")'" .NES. "" then delete/noconfirm/nolog lua.vim.*
Bram Moolenaarf878bcf2010-07-30 22:29:41 +0200231 -@ if "''F$SEARCH("viminfo.*")'" .NES. "" then delete/noconfirm/nolog viminfo.*.*
Bram Moolenaarac98e5d2008-09-01 14:51:37 +0000232