Testsuite: delete remaining only_compiler_types(['ghc']) setups
[ghc.git] / testsuite / tests / th / all.T
1 # NOTICE TO DEVELOPERS
2 # ~~~~~~~~~~~~~~~~~~~~
3 # Adding a TemplateHaskell test?  If it only contains (non-quasi) quotes
4 # and no splices, consider adding it to the quotes/ directory instead
5 # of the th/ directory; this way, we can test it on the stage 1 compiler too!
6
7 # This test needs to come before the setTestOpts calls below, as we want
8 # to run it if compiler_profiled.
9 test('T4255', unless(compiler_profiled(), skip), compile_fail, ['-v0'])
10
11 def f(name, opts):
12     opts.extra_hc_opts = '-XTemplateHaskell -package template-haskell'
13     if (ghc_with_interpreter == 0):
14         opts.skip = 1
15
16 setTestOpts(f)
17 setTestOpts(only_ways(['normal','ghci']))
18 setTestOpts(when(compiler_profiled(), skip))
19
20 test('TH_mkName', normal, compile, ['-v0'])
21 test('TH_1tuple', normal, compile_fail, ['-v0'])
22
23 test('TH_repE2', normal, compile_and_run, [''])
24 test('TH_repPrim', normal, compile, ['-v0'])
25 test('TH_repPrim2', normal, compile, ['-v0'])
26 test('TH_repUnboxedTuples', normal, compile, ['-v0'])
27 test('TH_spliceGuard', normal, compile, ['-v0'])
28 test('TH_repPrimOutput', normal, compile_and_run, [''])
29 test('TH_repPrimOutput2', normal, compile_and_run, [''])
30 test('TH_repGuard', normal, compile, ['-v0'])
31 test('TH_repGuardOutput', normal, compile_and_run, [''])
32 test('TH_repPatSig', normal, compile_fail, [''])
33
34 test('TH_spliceE5',
35      extra_clean(['TH_spliceE5_Lib.hi', 'TH_spliceE5_Lib.o']),
36      multimod_compile_and_run,
37      ['TH_spliceE5.hs', '-v0 ' + config.ghc_th_way_flags])
38
39 test('TH_spliceE6', normal, compile, ['-v0'])
40
41 test('TH_NestedSplices',
42      extra_clean(['TH_NestedSplices_Lib.hi', 'TH_NestedSplices_Lib.o']),
43      multimod_compile,
44      ['TH_NestedSplices.hs', '-v0 ' + config.ghc_th_way_flags])
45
46 # Testing profiling with TH is a bit tricky; we've already disabled
47 # the prof way above, and also we want to add options specifically for
48 # profiling (-osuf p.o) because this is necessary when mixing
49 # profiling w/ TH.  Furthermore we must have built the program the
50 # normal way first, which is why the work is done by a Makefile rule.
51 test('TH_spliceE5_prof',
52      [req_profiling,
53       omit_ways(['ghci']),
54       extra_clean(['TH_spliceE5_prof_Lib.p.o', 'TH_spliceE5_prof_Lib.hi',
55                    'TH_spliceE5_prof_Lib.o','TH_spliceE5_prof.p.o'])],
56      run_command,
57      ['$MAKE -s --no-print-directory TH_spliceE5_prof'])
58
59 test('TH_spliceD1',
60      extra_clean(['TH_spliceD1_Lib.hi', 'TH_spliceD1_Lib.o']),
61      multimod_compile_fail,
62      ['TH_spliceD1', '-v0 ' + config.ghc_th_way_flags])
63
64 test('TH_spliceD2',
65      extra_clean(['TH_spliceD2_Lib.hi', 'TH_spliceD2_Lib.o']),
66      multimod_compile,
67      ['TH_spliceD2', '-v0'])
68
69 test('TH_reifyDecl1', normal, compile, ['-v0'])
70 test('TH_reifyDecl2', normal, compile, ['-v0'])
71
72 test('TH_reifyMkName', normal, compile, ['-v0'])
73
74 test('TH_reifyInstances', normal, compile, ['-v0'])
75
76 test('TH_spliceDecl1', normal, compile, ['-v0'])
77 test('TH_spliceDecl2', normal, compile, ['-v0'])
78 test('TH_spliceDecl3',
79      extra_clean(['TH_spliceDecl3_Lib.hi', 'TH_spliceDecl3_Lib.o']),
80      multimod_compile,
81      ['TH_spliceDecl3', '-v0 ' + config.ghc_th_way_flags])
82 test('TH_spliceDecl4',
83      extra_clean(['TH_spliceDecl4_Lib.hi', 'TH_spliceDecl4_Lib.o']),
84      multimod_compile,
85      ['TH_spliceDecl4', '-v0 ' + config.ghc_th_way_flags])
86
87 test('T2597a',
88      extra_clean(['T2597a_Lib.hi', 'T2597a_Lib.o']),
89      multimod_compile,
90      ['T2597a', '-v0 ' + config.ghc_th_way_flags])
91
92 test('T2597b',
93      extra_clean(['T2597b_Lib.hi', 'T2597b_Lib.o']),
94      multimod_compile_fail,
95      ['T2597b', '-v0 ' + config.ghc_th_way_flags])
96
97 test('TH_spliceE1', normal, compile_and_run, [''])
98 test('TH_spliceExpr1', normal, compile, ['-v0'])
99 test('TH_spliceE3', normal, compile, ['-v0'])
100 test('TH_spliceE4', normal, compile_and_run, [''])
101
102 test('TH_class1', normal, compile, ['-v0'])
103 test('TH_tuple1', normal, compile, ['-v0'])
104 test('TH_genEx',
105      extra_clean(['TH_genExLib.hi', 'TH_genExLib.o']),
106      multimod_compile,
107      ['TH_genEx', '-v0 ' + config.ghc_th_way_flags])
108
109 test('TH_where', normal, compile_and_run, [''])
110
111 test('TH_spliceInst', normal, compile, ['-v0'])
112
113 test('TH_exn1', normal, compile_fail, ['-v0'])
114
115 test('TH_dupdecl', normal, compile_fail, ['-v0'])
116 test('TH_exn2', normal, compile_fail, ['-v0'])
117
118 test('TH_recover', normal, compile_and_run, [''])
119 test('TH_dataD1', normal, compile_fail, ['-v0'])
120
121 test('TH_fail', normal, compile_fail, ['-v0'])
122 test('TH_scopedTvs', normal, compile, ['-v0'])
123
124 test('TH_runIO', normal, compile_fail, ['-v0'])
125
126 test('TH_ghci1', normal, ghci_script, ['TH_ghci1.script'])
127
128 test('TH_linePragma', normal, compile_fail, ['-v0'])
129
130 test('T2700', normal, compile, ['-v0'])
131 test('T2817', normal, compile, ['-v0'])
132 test('T2713', normal, compile_fail, ['-v0'])
133 test('T2674', normal, compile_fail, ['-v0'])
134 test('TH_emptycase', normal, compile, ['-v0'])
135
136 test('T2386', extra_clean(['T2386_Lib.hi', 'T2386_Lib.o']),
137               run_command,
138               ['$MAKE -s --no-print-directory T2386'] )
139
140 test('T2685', extra_clean(['T2685a.hi','T2685a.o']),
141               multimod_compile, ['T2685', '-v0 ' + config.ghc_th_way_flags])
142
143 test('TH_sections', normal, compile, ['-v0'])
144
145 test('TH_tf1', normal, compile, ['-v0'])
146 test('TH_tf3', normal, compile, ['-v0'])
147
148 test('TH_pragma', normal, compile, ['-v0 -dsuppress-uniques'])
149 test('T3177', normal, compile, ['-v0'])
150 test('T3177a', normal, compile_fail, ['-v0'])
151
152 test('T3319', normal, compile, ['-ddump-splices -v0'])
153 test('TH_foreignInterruptible', normal, compile, ['-ddump-splices -v0'])
154 test('TH_foreignCallingConventions', normal,
155                                      compile,
156                                      ['-ddump-splices -dsuppress-uniques -v0'])
157
158 test('T3395', normal, compile_fail, ['-v0'])
159 test('T3467', normal, compile, [''])
160 test('T3100', normal, compile, ['-v0'])
161 test('T3920', normal, compile_and_run, ['-v0'])
162
163 test('T3600', extra_clean(['T3600a.hi','T3600a.o']),
164               multimod_compile, ['T3600', '-v0 ' + config.ghc_th_way_flags])
165 test('T3845', normal, compile, ['-v0'])
166 test('T3899', extra_clean(['T3899a.hi','T3899a.o']),
167               multimod_compile,
168               ['T3899','-v0 -ddump-splices -dsuppress-uniques ' + config.ghc_th_way_flags])
169 test('T4188', normal, compile, ['-v0'])
170 test('T4233', normal, compile, ['-v0'])
171 test('T1835', normal, compile_and_run, ['-v0'])
172
173 test('TH_viewPatPrint', normal, compile_and_run, [''])
174 test('T4436', normal, compile, ['-v0 -ddump-splices'])
175 test('T4949', normal, compile, ['-v0'])
176 test('T5126', normal, compile, ['-v0'])
177 test('T5217', normal, compile, ['-v0 -dsuppress-uniques -ddump-splices'])
178 test('T5037', normal, compile, ['-v0'])
179 test('TH_unboxedSingleton', normal, compile, ['-v0'])
180 test('T5290', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
181 test('T5362', normal, compile, ['-v0'])
182
183 test('TH_unresolvedInfix',
184      extra_clean(['TH_unresolvedInfix_Lib.hi', 'TH_unresolvedInfix_Lib.o']),
185      multimod_compile_and_run,
186      ['TH_unresolvedInfix.hs', '-v0 ' + config.ghc_th_way_flags])
187 test('TH_unresolvedInfix2',
188      normal,
189      compile_fail,
190      ['-v0'])
191
192 test('T5358', normal, compile_fail, [' -v0'])
193 test('T5379', normal, compile_and_run, [''])
194 test('T5404', normal, compile, ['-v0'])
195 test('T5410', normal, compile_and_run, ['-v0'])
196 test('TH_lookupName',
197      extra_clean(['TH_lookupName_Lib.hi', 'TH_lookupName_Lib.o']),
198      multimod_compile_and_run,
199      ['TH_lookupName.hs', config.ghc_th_way_flags])
200 test('T5452', normal, compile, ['-v0'])
201 test('T5434', extra_clean(['T5434a.hi','T5434a.o']),
202               multimod_compile,
203               ['T5434','-v0 -Wall ' + config.ghc_th_way_flags])
204 test('T5508', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
205 test('TH_Depends',
206      [extra_clean(['TH_Depends_External.o', 'TH_Depends_External.hi',
207                    'TH_Depends_external.txt'])],
208      run_command,
209      ['$MAKE -s --no-print-directory TH_Depends'])
210 test('T5597', extra_clean(['T5597a.hi','T5597a.o']),
211               multimod_compile, ['T5597', '-v0 ' + config.ghc_th_way_flags])
212 test('T5665', extra_clean(['T5665a.hi','T5665a.o']),
213               multimod_compile, ['T5665', '-v0 ' + config.ghc_th_way_flags])
214 test('T5700', extra_clean(['T5700a.hi','T5700a.o']),
215               multimod_compile,
216               ['T5700','-v0 -ddump-splices ' + config.ghc_th_way_flags])
217
218 test('TH_PromotedTuple', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
219 test('TH_PromotedList', normal, compile, ['-v0'])
220 test('TH_Promoted1Tuple', normal, compile_fail, ['-v0'])
221 test('TH_RichKinds', normal, compile, ['-v0'])
222 test('TH_RichKinds2', normal, compile, ['-v0'])
223
224 test('T1541', normal, compile, ['-v0'])
225 test('T5883', normal, compile, ['-v0 -dsuppress-uniques -ddump-splices'])
226 test('T5882', normal, compile, ['-v0'])
227 test('T5886', extra_clean(['T5886a.hi','T5886a.o']),
228               multimod_compile, ['T5886','-v0 ' + config.ghc_th_way_flags])
229 test('T4135',  normal, compile, ['-v0'])
230 test('T4135a', normal, compile, ['-v0'])
231 test('T5971', normal, compile_fail, ['-v0 -dsuppress-uniques'])
232 test('T5968', normal, compile, ['-v0'])
233 test('T5984', extra_clean(['T5984_Lib.hi', 'T5984_Lib.o']),
234               multimod_compile,
235               ['T5984', '-v0 -ddump-splices ' + config.ghc_th_way_flags])
236 test('T5555', extra_clean(['T5555_Lib.hi', 'T5555_Lib.o']),
237               multimod_compile, ['T5555', '-v0 ' + config.ghc_th_way_flags])
238 test('T5976', normal, compile_fail, ['-v0'])
239 test('T5795', normal, compile_fail, ['-v0'])
240 test('T6005', normal, compile, ['-v0'])
241 test('T6005a', normal, compile, ['-v0'])
242 test('T5737', normal, compile, ['-v0'])
243 test('T6114', normal, compile, ['-v0'])
244 test('TH_StringPrimL', normal, compile_and_run, [''])
245 test('T7064',
246      extra_clean(['T7064a.hi', 'T7064a.o']),
247      multimod_compile_and_run,
248      ['T7064.hs', '-v0 ' + config.ghc_th_way_flags])
249 test('T7092', extra_clean(['T7092a.hi','T7092a.o']),
250               multimod_compile, ['T7092', '-v0 ' + config.ghc_th_way_flags])
251 test('T7276', normal, compile_fail, ['-v0'])
252 test('T7276a', combined_output, ghci_script, ['T7276a.script'])
253
254 test('TH_TyInstWhere1', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
255 test('TH_TyInstWhere2', normal, compile, ['-v0'])
256
257 test('T7445', extra_clean(['T7445a.hi', 'T7445a.o']),
258               run_command,
259               ['$MAKE -s --no-print-directory T7445'] )
260 test('T7532',
261      extra_clean(['T7532a.hi', 'T7532a.o']),
262      multimod_compile,
263      ['T7532', '-v0 ' + config.ghc_th_way_flags])
264 test('T2222', normal, compile, ['-v0'])
265 test('T1849', normal, ghci_script, ['T1849.script'])
266 test('T7681', normal, compile, ['-v0'])
267 test('T7910', normal, compile_and_run, ['-v0'])
268
269 test('ClosedFam1TH', normal, compile, ['-dsuppress-uniques -v0'])
270 test('ClosedFam2TH', normal, compile, ['-v0'])
271
272 test('T8028',
273      extra_clean(['T8028a.hi', 'T8028a.o']),
274      multimod_compile,
275      ['T8028', '-v0 ' + config.ghc_th_way_flags])
276
277 test('TH_Roles1', normal, compile_fail, ['-v0'])
278 test('TH_Roles2', normalise_version('array', 'base', 'deepseq', 'ghc-prim',
279                                     'integer-gmp', 'pretty', 'template-haskell'
280                                     ), compile, ['-v0 -ddump-tc'])
281 test('TH_Roles3', normal, compile, ['-v0 -dsuppress-uniques'])
282 test('TH_Roles4', normal, compile, ['-v0'])
283
284 test('T8186', normal, compile_and_run, ['-v0'])
285
286 test('T8333',
287      normal,
288      run_command,
289      ['$MAKE -s --no-print-directory T8333'])
290
291 test('T4124', normal, compile, ['-v0'])
292 test('T4128', normal, compile, ['-v0'])
293 test('T4364', normal, compile, ['-v0'])
294 test('T8412', normal, compile_fail, ['-v0'])
295 test('T7667', normal, compile, ['-v0'])
296 test('T7667a', normal, compile_fail, ['-v0'])
297 test('T8499', normal, compile, ['-v0'])
298 test('T7477', normal, compile, ['-v0'])
299 test('T8507', normal, compile, ['-v0'])
300 test('T8540',
301      extra_clean(['T8540a.hi', 'T8540a.o']),
302      multimod_compile,
303      ['T8540', '-v0 ' + config.ghc_th_way_flags])
304 test('T8577',
305      extra_clean(['T8577a.hi', 'T8577a.o']),
306      multimod_compile_fail,
307      ['T8577', '-v0 ' + config.ghc_th_way_flags])
308 test('T8625', normal, ghci_script, ['T8625.script'])
309 test('TH_StaticPointers',
310      [ when(compiler_lt('ghc', '7.9'), skip)
311      , when(doing_ghci(), extra_hc_opts('-fobject-code'))
312      ],
313      compile_and_run, [''])
314 test('TH_StaticPointers02',
315      [ when(compiler_lt('ghc', '7.9'), skip) ],
316      compile_fail, [''])
317 test('T8759', normal, compile_fail, ['-v0'])
318 test('T7021',
319      extra_clean(['T7021a.hi', 'T7021a.o']), multimod_compile, ['T7021','-v0'])
320 test('T8807', normal, compile, ['-v0'])
321 test('T8884', normal, compile, ['-v0'])
322 test('T8954', normal, compile, ['-v0'])
323 test('T8932', normal, compile_fail, ['-v0'])
324 test('T8987', normal, compile_fail, ['-v0'])
325 test('T7241', normal, compile_fail, ['-v0'])
326 test('T9262', normal, compile, ['-v0'])
327 test('T9199', normal, compile, ['-v0'])
328 test('T9692', normal, compile, ['-v0'])
329 test('T8953', normal, compile, ['-v0'])
330 test('T9084', normal, compile_fail, ['-v0'])
331 test('T9738', normal, compile, ['-v0'])
332 test('T9081', normal, compile, ['-v0'])
333 test('T9066', normal, compile, ['-v0'])
334 test('T8100', normal, compile, ['-v0'])
335 test('T9064', normal, compile, ['-v0'])
336 test('T9209', normal, compile_fail, ['-v0'])
337 test('T7484', normal, compile_fail, ['-v0'])
338 test('T1476', normal, compile, ['-v0'])
339 test('T1476b', normal, compile_fail, ['-v0'])
340 test('T8031', normal, compile, ['-v0'])
341 test('T8624', normal, run_command, ['$MAKE -s --no-print-directory T8624'])
342 test('TH_Lift', normal, compile, ['-v0'])
343 test('T10047', normal, ghci_script, ['T10047.script'])
344 test('T10019', normal, ghci_script, ['T10019.script'])
345 test('T10279', normal, compile_fail, ['-v0'])
346 test('T10306', normal, compile, ['-v0'])
347 test('T10596', normal, compile, ['-v0'])