c7097b2dfcaf771aa3123b798ee6ceda74167099
[ghc.git] / testsuite / tests / module / all.T
1 # These tests were swiped from the hugs98 source tree, in hugs98/tests/static,
2 # on 16/10/2002.
3 #
4 # I used something like this to partly-automate the transition:
5 #
6 # for i in mod*.hs; do
7 #   if ! test -f ${i%.hs}.output; then
8 #      echo "test('${i%.hs}', normal, compile, [''])"
9 #   else if grep error ${i%.hs}.output >/dev/null; then
10 #      echo "test('${i%.hs}', normal, compile_fail, [''])"
11 #   else
12 #      echo "test('${i%.hs}', normal, compile, [''])"
13 #   fi fi
14 # done
15 #
16 # A few of the tests use Hugs-specific extensions, and have been
17 # commented out.
18
19 # No point in doing anything except the normal way for renamer tests
20 setTestOpts(only_ways(['normal']));
21
22 test('mod1', normal, compile_fail, [''])
23 test('mod2', normal, compile_fail, [''])
24 test('mod3', normal, compile_fail, [''])
25 test('mod4', normal, compile_fail, [''])
26 test('mod5', normal, compile, [''])
27 test('mod6', normal, compile, [''])
28 test('mod7', normal, compile_fail, [''])
29 test('mod8', normal, compile_fail, [''])
30 test('mod9', normal, compile_fail, [''])
31 test('mod10', normal, compile_fail, [''])
32 test('mod11', normal, compile, [''])
33 test('mod12', normal, compile, [''])
34 test('mod13', normal, compile, [''])
35 test('mod14', normal, compile, [''])
36 test('mod15', normal, compile, [''])
37 test('mod16', normal, compile, [''])
38 test('mod17', normal, compile_fail, [''])
39 test('mod18', normal, compile_fail, [''])
40 test('mod19', normal, compile_fail, [''])
41 test('mod20', normal, compile_fail, [''])
42 test('mod21', normal, compile_fail, [''])
43 test('mod22', normal, compile_fail, [''])
44 test('mod23', normal, compile_fail, [''])
45 test('mod24', normal, compile_fail, [''])
46 test('mod25', normal, compile_fail, [''])
47 test('mod26', normal, compile_fail, [''])
48 test('mod27', normal, compile_fail, [''])
49 #test('mod28', normal, compile_fail, [''])
50 test('mod29', normal, compile_fail, [''])
51 test('mod30', normal, compile, [''])
52 test('mod31', normal, compile, [''])
53 test('mod32', normal, compile, [''])
54 test('mod33', normal, compile, [''])
55 test('mod34', normal, compile, [''])
56 test('mod35', normal, compile, [''])
57 test('mod36', normal, compile_fail, [''])
58 test('mod37', normal, compile, [''])
59 test('mod38', normal, compile_fail, [''])
60 test('mod39', normal, compile_fail, [''])
61 test('mod40', normal, compile_fail, [''])
62 test('mod41', normal, compile_fail, [''])
63 test('mod42', normal, compile_fail, [''])
64 test('mod43', normal, compile_fail, [''])
65 test('mod44', normal, compile_fail, [''])
66 test('mod45', normal, compile_fail, [''])
67 test('mod46', normal, compile_fail, [''])
68 test('mod47', normal, compile_fail, [''])
69 test('mod48', normal, compile_fail, [''])
70 test('mod49', normal, compile_fail, [''])
71 test('mod50', normal, compile_fail, [''])
72 test('mod51', normal, compile_fail, [''])
73 test('mod52', normal, compile_fail, [''])
74 test('mod53', normal, compile_fail, [''])
75 test('mod54', normal, compile_fail, [''])
76 test('mod55', normal, compile_fail, [''])
77 test('mod56', normal, compile_fail, [''])
78 #test('mod57', normal, compile_fail, [''])
79 test('mod58', normal, compile_fail, [''])
80 test('mod59', normal, compile_fail, [''])
81 test('mod60', normal, compile_fail, [''])
82 test('mod61', normal, compile_fail, [''])
83 test('mod62', normal, compile_fail, [''])
84 test('mod63', normal, compile_fail, [''])
85 test('mod64', normal, compile, [''])
86 test('mod65', normal, compile, [''])
87 test('mod66', normal, compile_fail, [''])
88 test('mod67', normal, compile_fail, [''])
89 test('mod68', normal, compile_fail, [''])
90 test('mod69', normal, compile_fail, [''])
91 test('mod70', normal, compile_fail, [''])
92 test('mod71', normal, compile_fail, [''])
93 test('mod72', normal, compile_fail, [''])
94
95 # The order of suggestions in the output for test mod73
96 # is subject to variation depending on the optimization level
97 # that GHC was built with (and probably minor changes to GHC too).
98 # This seems okay since there is unsafePerformIO under the hood
99 # in FastString. Allow any order with an extra normaliser. (See #9325.)
100 def normalise_mod73_error(x):
101     return x.replace('LT','XX',1).replace('EQ','XX',1).replace('GT','XX',1)
102 test('mod73', normalise_errmsg_fun(normalise_mod73_error), compile_fail, [''])
103
104 test('mod74', normal, compile_fail, [''])
105 test('mod75', normal, compile, [''])
106 test('mod76', normal, compile_fail, [''])
107 test('mod77', normal, compile_fail, [''])
108 #test('mod78', normal, compile_fail, [''])
109 test('mod79', normal, compile_fail, [''])
110 test('mod80', normal, compile_fail, [''])
111 test('mod81', normal, compile_fail, [''])
112 test('mod82', normal, compile, [''])
113 test('mod83', normal, compile, [''])
114 test('mod84', normal, compile, [''])
115 test('mod85', normal, compile, [''])
116 test('mod86', normal, compile, [''])
117 test('mod87', normal, compile_fail, [''])
118 test('mod88', normal, compile_fail, [''])
119 test('mod89', normal, compile_fail, [''])
120 test('mod90', normal, compile_fail, [''])
121 test('mod91', normal, compile_fail, [''])
122 test('mod92', normal, compile, [''])
123 test('mod93', normal, compile, [''])
124 test('mod94', normal, compile, [''])
125 test('mod95', normal, compile, [''])
126 test('mod96', normal, compile, [''])
127 test('mod97', normal, compile_fail, [''])
128 test('mod98', normal, compile_fail, [''])
129 test('mod99', normal, compile, [''])
130 test('mod100', normal, compile, [''])
131
132 test('mod101',
133      extra_clean(['Mod101_AuxA.hi', 'Mod101_AuxA.o', 'Mod101_AuxB.hi', 'Mod101_AuxB.o']),
134      multimod_compile_fail, ['mod101', '-v0'])
135
136 test('mod102',
137      extra_clean(['Mod102_AuxA.hi', 'Mod102_AuxA.o', 'Mod102_AuxB.hi', 'Mod102_AuxB.o']),
138      multimod_compile_fail, ['mod102', '-v0'])
139
140 test('mod103', normal, compile, [''])
141 test('mod104', normal, compile, [''])
142 test('mod105', normal, compile, [''])
143 test('mod106', normal, compile, [''])
144 test('mod107', normal, compile, [''])
145 test('mod108', normal, compile, [''])
146 test('mod109', normal, compile, [''])
147 test('mod110', normal, compile_fail, [''])
148 test('mod111', normal, compile, [''])
149 test('mod112', normal, compile, [''])
150 test('mod113', normal, compile, [''])
151 test('mod114', extra_clean(['Mod114_Help.hi', 'Mod114_Help.o']),
152      multimod_compile_fail, ['mod114', '-v0'])
153
154 test('mod115',
155      extra_clean(['Mod115_A.hi', 'Mod115_A.o', 'Mod115_B.hi', 'Mod115_B.o']),
156      multimod_compile, ['mod115', '-v0'])
157
158 test('mod116', normal, compile_fail, [''])
159 test('mod117',
160      extra_clean(['Mod117_A.hi', 'Mod117_A.o', 'Mod117_B.hi', 'Mod117_B.o']),
161      multimod_compile, ['mod117', '-v0'])
162
163 test('mod118',
164      extra_clean(['Mod118_A.hi', 'Mod118_A.o', 'Mod118_B.hi', 'Mod118_B.o']),
165      multimod_compile, ['mod118', '-v0'])
166
167 test('mod119',
168      extra_clean(['Mod119_A.hi', 'Mod119_A.o', 'Mod119_B.hi', 'Mod119_B.o']),
169      multimod_compile, ['mod119', '-v0'])
170
171 test('mod120',
172      extra_clean(['Mod120_A.hi', 'Mod120_A.o']),
173      multimod_compile_fail, ['mod120', '-v0'])
174
175 test('mod121',
176      extra_clean(['Mod121_A.hi', 'Mod121_A.o']),
177      multimod_compile_fail, ['mod121', '-v0'])
178
179 test('mod122',
180      extra_clean(['Mod122_A.hi', 'Mod122_A.o']),
181      multimod_compile_fail, ['mod122', '-v0'])
182
183 test('mod123',
184      extra_clean(['Mod123_A.hi', 'Mod123_A.o']),
185      multimod_compile_fail, ['mod123', '-v0'])
186
187 test('mod124',
188      extra_clean(['Mod124_A.hi', 'Mod124_A.o']),
189      multimod_compile_fail, ['mod124', '-v0'])
190
191 test('mod125',
192      extra_clean(['Mod125_A.hi', 'Mod125_A.o']),
193      multimod_compile_fail, ['mod125', '-v0'])
194
195 test('mod126',
196      extra_clean(['Mod126_A.hi', 'Mod126_A.o']),
197      multimod_compile_fail, ['mod126', '-v0'])
198
199 test('mod127',
200      extra_clean(['Mod127_A.hi', 'Mod127_A.o']),
201      multimod_compile_fail, ['mod127', '-v0'])
202
203 test('mod128',
204      extra_clean(['Mod128_A.hi', 'Mod128_A.o']) ,
205      multimod_compile, ['mod128', '-v0'])
206
207 test('mod129', normal, compile, [''])
208 test('mod130', normal, compile_fail, [''])
209 test('mod131',
210      extra_clean(['Mod131_A.hi', 'Mod131_A.o', 'Mod131_B.hi', 'Mod131_B.o']),
211      multimod_compile_fail, ['mod131', '-v0'])
212
213 test('mod132',
214      extra_clean(['Mod132_A.hi', 'Mod132_A.o', 'Mod132_B.hi', 'Mod132_B.o']),
215      multimod_compile_fail, ['mod132', '-v0'])
216
217 test('mod133', reqlib('mtl'), compile, [''])
218 test('mod134', normal, compile_fail, [''])
219 test('mod135', normal, compile_fail, [''])
220 test('mod136', extra_clean(['Mod136_A.hi', 'Mod136_A.o']),
221      multimod_compile_fail, ['mod136', '-v0'])
222
223 test('mod137', extra_clean(['Mod137_A.hi', 'Mod137_A.o']),
224      multimod_compile, ['mod137', '-v0'])
225
226 test('mod138', extra_clean(['Mod138_A.hi', 'Mod138_A.o']),
227      multimod_compile_fail, ['mod138', '-v0'])
228
229 test('mod139', extra_clean(['Mod139_A.hi', 'Mod139_A.o', 'Mod139_B.hi', 'Mod139_B.o']),
230      multimod_compile, ['mod139', '-v0'])
231
232 test('mod140', extra_clean(['Mod140_A.hi', 'Mod140_A.o']),
233      multimod_compile, ['mod140', '-v0'])
234
235 test('mod141', extra_clean(['Mod141_A.hi', 'Mod141_A.o']),
236      multimod_compile, ['mod141', '-v0'])
237
238 test('mod142', extra_clean(['Mod142_A.hi', 'Mod142_A.o']),
239      multimod_compile_fail, ['mod142', '-v0'])
240
241 test('mod143', extra_clean(['Mod143_A.hi', 'Mod143_A.o']),
242      multimod_compile_fail, ['mod143', '-v0'])
243
244 test('mod144', extra_clean(['Mod144_A.hi', 'Mod144_A.o']),
245      run_command, ['$MAKE -s --no-print-directory mod144'])
246
247 test('mod145', extra_clean(['Mod145_A.hi', 'Mod145_A.o']),
248      multimod_compile_fail, ['mod145', '-v0'])
249
250 test('mod146',
251      extra_clean(['Mod145_A.mod146_hi', 'Mod145_A.mod146_o', 'mod146.mod146_o', 'mod146.mod146_hi']),
252      run_command, ['$MAKE -s --no-print-directory mod146'])
253
254 test('mod147', extra_clean(['Mod147_A.hi', 'Mod147_A.o']),
255      multimod_compile_fail, ['mod147', '-v0'])
256
257 test('mod148', normal, compile, [''])
258 test('mod149', normal, compile, [''])
259 test('mod150', normal, compile_fail, [''])
260 test('mod151', normal, compile_fail, [''])
261 test('mod152', normal, compile_fail, [''])
262 test('mod153', normal, compile_fail, [''])
263 test('mod154', normal, compile, [''])
264 test('mod155', normal, compile_fail, [''])
265 test('mod156', normal, compile, [''])
266 test('mod157',
267      extra_clean(['Mod157_A.hi', 'Mod157_A.o', 'Mod157_B.hi', 'Mod157_B.o',
268        'Mod157_C.hi', 'Mod157_C.o', 'Mod157_D.hi', 'Mod157_D.o']),
269      multimod_compile, ['mod157', '-v0'])
270
271 test('mod158',
272      extra_clean(['Mod157_A.mod158_hi', 'Mod157_A.mod158_o', 'Mod157_B.mod158_hi', 'Mod157_B.mod158_o',
273        'Mod157_C.mod158_hi', 'Mod157_C.mod158_o', 'Mod157_D.mod158_hi', 'Mod157_D.mod158_o']),
274      run_command, ['$MAKE -s --no-print-directory mod158'])
275
276 test('mod159',
277      extra_clean(['Mod159_A.hi', 'Mod159_A.o', 'Mod159_B.hi', 'Mod159_B.o',
278        'Mod159_C.hi', 'Mod159_C.o', 'Mod159_D.hi', 'Mod159_D.o']),
279      multimod_compile, ['mod159', '-v0'])
280
281 test('mod160',
282      extra_clean(['Mod159_A.mod160_hi', 'Mod159_A.mod160_o', 'Mod159_B.mod160_hi', 'Mod159_B.mod160_o',
283        'Mod159_C.mod160_hi', 'Mod159_C.mod160_o', 'Mod159_D.mod160_hi', 'Mod159_D.mod160_o']),
284      run_command, ['$MAKE -s --no-print-directory mod160'])
285
286 test('mod161', normal, compile_fail, [''])
287 test('mod162', extra_clean(['Mod162_A.hi', 'Mod162_A.o']),
288      multimod_compile, ['mod162', '-v0'])
289
290 test('mod163', extra_clean(['Mod163_A.hi', 'Mod163_A.o']),
291      multimod_compile, ['mod163', '-v0'])
292
293 test('mod164', extra_clean(['Mod164_A.hi', 'Mod164_A.o', 'Mod164_B.hi', 'Mod164_B.o']),
294      multimod_compile_fail, ['mod164', '-v0'])
295
296 test('mod165', extra_clean(['Mod164_A.mod165_hi', 'Mod164_A.mod165_o', 'Mod164_B.mod165_hi', 'Mod164_B.mod165_o']),
297      run_command, ['$MAKE -s --no-print-directory mod165'])
298
299 test('mod166', extra_clean(['Mod164_A.mod166_hi', 'Mod164_A.mod166_o', 'Mod164_B.mod166_hi', 'Mod164_B.mod166_o', 'mod166.mod166_o', 'mod166.mod166_hi']),
300      run_command, ['$MAKE -s --no-print-directory mod166 MAKELEVEL='])
301
302 test('mod167', extra_clean(['Mod164_A.mod167_hi', 'Mod164_A.mod167_o', 'Mod164_B.mod167_hi', 'Mod164_B.mod167_o', 'mod167.mod167_o', 'mod167.mod167_hi']),
303      run_command, ['$MAKE -s --no-print-directory mod167 MAKELEVEL='])
304
305 test('mod168', normal, compile, [''])
306 test('mod169', normal, compile, [''])
307 test('mod170', extra_clean(['Mod170_A.hi', 'Mod170_A.o']),
308      multimod_compile, ['mod170', '-v0'])
309
310
311 test('mod171', extra_clean(['Mod171_A.hi', 'Mod171_A.o', 'Mod171_B.hi', 'Mod171_B.o']),
312      multimod_compile, ['mod171', '-v0 -Wall'])
313
314
315 test('mod172', extra_clean(['Mod172_B.hi', 'Mod172_B.o', 'Mod172_C.hi', 'Mod172_C.o']),
316      multimod_compile, ['mod172', '-v0'])
317
318
319 test('mod173', extra_clean(['Mod173_Aux.hi', 'Mod173_Aux.o']),
320      multimod_compile, ['mod173', '-v0'])
321
322 # mod174 has been deleted
323 # mod175 is a sub-directory
324
325 test('mod176', normal, compile, ['-fwarn-unused-imports'])
326 test('mod177', normal, compile, ['-fwarn-unused-imports'])
327 test('mod178', extra_clean(['Mod178_2.hi', 'Mod178_2.o']),
328      multimod_compile_fail, ['mod178', '-v0'])
329
330 test('mod179', extra_clean(['Mod179_A.hi', 'Mod179_A.o']),
331      multimod_compile, ['mod179', '-v0'])
332
333
334 test('mod180', extra_clean(['Mod180_A.hi', 'Mod180_A.o', 'Mod180_B.hi', 'Mod180_B.o']),
335      multimod_compile_fail, ['mod180', '-v0'])
336
337 test('T1148', normal, compile, [''])
338 test('T1074', reqlib('mtl'), compile, [''])
339 test('T1074a', normal, compile, [''])
340 test('T2267', reqlib('utf8-string'), compile, [''])
341 test('T414', normal, compile_fail, [''])
342 test('T414a', normal, compile, [''])
343 test('T414b', normal, compile, [''])
344 test('T3776', normal, compile, [''])
345 test('T7765', normal, compile_fail, [''])
346 test('T9061', normal, compile, [''])
347 test('T9997', normal, compile, [''])
348 test('T10233', extra_clean(['T01233a.hi', 'T01233a.o']),
349      multimod_compile, ['T10233', '-v0'])
350 test('T11432', normal, compile_fail, [''])
351 test('T11432a', normal, compile_fail, [''])
352 test('T12026', normal, compile_fail, [''])
353 test('T11970', normal, compile_fail, [''])
354 test('T11970A', [], multimod_compile, ['T11970A','-Wunused-imports'])
355 test('T11970B', normal, compile_fail, [''])
356 test('MultiExport', normal, compile, [''])