xref: /vim-8.2.3635/src/testdir/Make_vms.mms (revision ba3ff539)
1#
2# Makefile to run all tests for Vim on VMS
3#
4# Authors:	Zoltan Arpadffy, <[email protected]>
5#		Sandor Kopanyi,  <[email protected]>
6#
7# Last change:  2016 Nov 04
8#
9# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
10# 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
35# 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
44# Comment out if you want to run mzschema tests.
45# It fails because VMS does not support this feature yet.
46# WANT_MZSCH = YES
47
48# Comment out if you have ODS-5 file system
49# HAVE_ODS5 = YES
50
51# 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
57# Comment out if you have ICONV support
58# HAVE_ICONV = YES
59
60# Comment out if you have LUA support
61# HAVE_LUA = YES
62
63# Comment out if you have PYTHON support
64# HAVE_PYTHON = YES
65
66#######################################################################
67# End of configuration section.
68#
69# Please, do not change anything below without programming experience.
70#######################################################################
71
72VIMPROG = <->vim.exe
73
74.SUFFIXES : .out .in
75
76SCRIPT = test1.out test3.out \
77       test14.out \
78       test29.out \
79       test30.out test37.out test39.out \
80       test42.out test44.out test48.out test49.out \
81       test64.out test69.out \
82       test72.out test77a.out test88.out \
83       test94.out test95.out test99.out test108.out \
84       test_eval.out
85
86# Known problems:
87# test17: ?
88#
89# test30: bug, most probably - a problem around mac format
90#
91# test59: Failed/Hangs - VMS does not support spell files (file names
92# with too many dots).
93#
94# test72: bug - Vim hangs at :rename (while rename works well otherwise)
95# test78: bug - Vim dies at :recover Xtest
96# test89: bug - findfile() does not work on VMS (just in the current directory)
97# test102: Just ODS-5 supports space and special chars in the filename.
98# On ODS-2 tests fail.
99
100.IFDEF WANT_GUI
101SCRIPT_GUI = test16.out
102GUI_OPTION = -g
103.ENDIF
104
105.IFDEF WANT_UNIX
106SCRIPT_UNIX = test10.out test17.out test27.out test49.out
107.ENDIF
108
109.IFDEF WANT_WIN
110SCRIPT_WIN = test52.out
111.ENDIF
112
113.IFDEF WANT_SPELL
114SCRIPT_SPELL = test59.out
115.ENDIF
116
117.IFDEF WANT_MZSCH
118SCRIPT_MZSCH = test70.out
119.ENDIF
120
121.IFDEF HAVE_ODS5
122SCRIPT_ODS5 = test102.out
123.ENDIF
124
125.IFDEF HAVE_GZIP
126SCRIPT_GZIP = test11.out
127.ENDIF
128
129.IFDEF HAVE_GDIFF
130SCRIPT_GDIFF = test47.out
131.ENDIF
132
133.IFDEF HAVE_PYTHON
134SCRIPT_PYTHON = test86.out test87.out
135.ENDIF
136
137.in.out :
138	-@ !clean up before doing the test
139	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then delete/noconfirm/nolog test.out.*
140	-@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then delete/noconfirm/nolog $*.out.*
141	-@ ! define TMP if not set - some tests use it
142	-@ if "''F$TRNLNM("TMP")'" .EQS. "" then define/nolog TMP []
143	-@ write sys$output " "
144	-@ write sys$output "-----------------------------------------------"
145	-@ write sys$output "                "$*" "
146	-@ write sys$output "-----------------------------------------------"
147	-@ !run the test
148	-@ create/term/wait/nodetach mcr $(VIMPROG) $(GUI_OPTION) -u vms.vim --noplugin -s dotest.in $*.in
149	-@ !analyse the result
150	-@ directory /size/date test.out
151	-@ if "''F$SEARCH("test.out.*")'" .NES. "" then rename/nolog test.out $*.out
152	-@ if "''F$SEARCH("$*.out.*")'"   .NES. "" then differences /par $*.out $*.ok;
153	-@ !clean up after the test
154	-@ if "''F$SEARCH("Xdotest.*")'"  .NES. "" then delete/noconfirm/nolog Xdotest.*.*
155	-@ if "''F$SEARCH("Xtest.*")'"    .NES. "" then delete/noconfirm/nolog Xtest.*.*
156
157all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
158    $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
159	-@ write sys$output " "
160	-@ write sys$output "-----------------------------------------------"
161	-@ write sys$output "                All done"
162	-@ write sys$output "-----------------------------------------------"
163	-@ deassign sys$output
164	-@ delete/noconfirm/nolog x*.*.*
165	-@ type test.log
166
167nolog :
168	-@ define sys$output test.log
169	-@ write sys$output "-----------------------------------------------"
170	-@ write sys$output "           Standard VIM test cases"
171	-@ write sys$output "-----------------------------------------------"
172	-@ write sys$output " OpenVMS version: ''F$GETSYI("VERSION")'"
173	-@ write sys$output " Vim version:"
174	-@ mcr $(VIMPROG) --version
175	-@ write sys$output " Test date:"
176	-@ show time
177	-@ write sys$output "-----------------------------------------------"
178	-@ write sys$output "                Test results:"
179	-@ write sys$output "-----------------------------------------------"
180	-@ write sys$output "MAKE_VMS.MMS options:"
181	-@ write sys$output "   WANT_GUI   = ""$(WANT_GUI)"" "
182	-@ write sys$output "   WANT_UNIX  = ""$(WANT_UNIX)"" "
183	-@ write sys$output "   WANT_WIN   = ""$(WANT_WIN)"" "
184	-@ write sys$output "   WANT_SPELL = ""$(WANT_SPELL)"" "
185	-@ write sys$output "   WANT_MZSCH = ""$(WANT_MZSCH)"" "
186	-@ write sys$output "   HAVE_ODS5  = ""$(HAVE_ODS5)"" "
187	-@ write sys$output "   HAVE_GZIP  = ""$(HAVE_GZIP)"" "
188	-@ write sys$output "   HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
189	-@ write sys$output "   HAVE_ICONV = ""$(HAVE_ICONV)"" "
190	-@ write sys$output "   HAVE_LUA   = ""$(HAVE_LUA)"" "
191	-@ write sys$output "   HAVE_PYTHON= ""$(HAVE_PYTHON)"" "
192	-@ write sys$output "Default vimrc file is VMS.VIM:"
193	-@ write sys$output "-----------------------------------------------"
194	-@ type VMS.VIM
195
196clean :
197	-@ if "''F$SEARCH("*.out")'"        .NES. "" then delete/noconfirm/nolog *.out.*
198	-@ if "''F$SEARCH("test.log")'"     .NES. "" then delete/noconfirm/nolog test.log.*
199	-@ if "''F$SEARCH("test.ok")'"      .NES. "" then delete/noconfirm/nolog test.ok.*
200	-@ if "''F$SEARCH("Xdotest.*")'"    .NES. "" then delete/noconfirm/nolog Xdotest.*.*
201	-@ if "''F$SEARCH("Xtest*.*")'"     .NES. "" then delete/noconfirm/nolog Xtest*.*.*
202	-@ if "''F$SEARCH("XX*.*")'"        .NES. "" then delete/noconfirm/nolog XX*.*.*
203	-@ if "''F$SEARCH("_un_*.*")'"      .NES. "" then delete/noconfirm/nolog _un_*.*.*
204	-@ if "''F$SEARCH("*.*_sw*")'"      .NES. "" then delete/noconfirm/nolog *.*_sw*.*
205	-@ if "''F$SEARCH("*.failed")'"     .NES. "" then delete/noconfirm/nolog *.failed.*
206	-@ if "''F$SEARCH("*.rej")'"        .NES. "" then delete/noconfirm/nolog *.rej.*
207	-@ if "''F$SEARCH("tiny.vim")'"     .NES. "" then delete/noconfirm/nolog tiny.vim.*
208	-@ if "''F$SEARCH("small.vim")'"    .NES. "" then delete/noconfirm/nolog small.vim.*
209	-@ if "''F$SEARCH("mbyte.vim")'"    .NES. "" then delete/noconfirm/nolog mbyte.vim.*
210	-@ if "''F$SEARCH("mzscheme.vim")'" .NES. "" then delete/noconfirm/nolog mzscheme.vim.*
211	-@ if "''F$SEARCH("viminfo.*")'"    .NES. "" then delete/noconfirm/nolog viminfo.*.*
212
213