all.T 4.89 KB
Newer Older
chak's avatar
chak committed
1
def f(opts):
2
  opts.extra_hc_opts = '-XTemplateHaskell -package template-haskell'
Simon Marlow's avatar
Simon Marlow committed
3
  if (ghc_with_interpreter == 0):
4
	opts.skip = 1
chak's avatar
chak committed
5 6

setTestOpts(f)
ross's avatar
ross committed
7
setTestOpts(only_compiler_types(['ghc']))
Simon Peyton Jones's avatar
Simon Peyton Jones committed
8
setTestOpts(only_ways(['normal','ghci']))
chak's avatar
chak committed
9

10
test('TH_mkName', normal, compile, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
11
test('TH_1tuple', normal, compile_fail, ['-v0'])
12

chak's avatar
chak committed
13
test('TH_repE1', normal, compile, [''])
14
test('TH_repE2', normal, compile_and_run, [''])
15
test('TH_repE3', normal, compile, [''])
16
test('TH_repPrim', normal, compile, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
17
test('TH_spliceGuard', normal, compile, ['-v0'])
18
test('TH_repPrimOutput', normal, compile_and_run, [''])
19
test('TH_repGuard', normal, compile, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
20
test('TH_repGuardOutput', normal, compile_and_run, [''])
Simon Marlow's avatar
Simon Marlow committed
21
test('TH_repPatSig', normal, compile_fail, [''])
chak's avatar
chak committed
22

23 24 25 26
test('TH_spliceE5',
     extra_clean(['TH_spliceE5_Lib.hi', 'TH_spliceE5_Lib.o']),
     multimod_compile_and_run,
     ['TH_spliceE5.hs', '-v0'])
Simon Marlow's avatar
Simon Marlow committed
27

28 29
test('TH_spliceE6', normal, compile, ['-v0'])

Ian Lynagh's avatar
Ian Lynagh committed
30 31 32 33
# Testing profiling with TH is a bit tricky; we've already disabled
# the prof way above, and also we want to add options specifically for
# profiling (-osuf p_o) because this is necessary when mixing
# profiling w/ TH.  Furthermore we must have built the program the
Simon Marlow's avatar
Simon Marlow committed
34
# normal way first, which is why the work is done by a Makefile rule.
Ian Lynagh's avatar
Ian Lynagh committed
35 36 37
test('TH_spliceE5_prof',
     [req_profiling,
      omit_ways(['ghci']),
38
      extra_clean(['TH_spliceE5_prof_Lib.p_o', 'TH_spliceE5_prof_Lib.hi',
Simon Marlow's avatar
Simon Marlow committed
39 40 41
                   'TH_spliceE5_prof_Lib.o','TH_spliceE5_prof.p_o'])],
     run_command,
     ['$MAKE -s --no-print-directory TH_spliceE5_prof'])
Ian Lynagh's avatar
Ian Lynagh committed
42 43 44 45 46 47 48 49 50 51

test('TH_spliceD1',
     extra_clean(['TH_spliceD1_Lib.hi', 'TH_spliceD1_Lib.o']),
     multimod_compile_fail,
     ['TH_spliceD1', '-v0'])

test('TH_spliceD2',
     extra_clean(['TH_spliceD2_Lib.hi', 'TH_spliceD2_Lib.o']),
     multimod_compile,
     ['TH_spliceD2', '-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
52

53
test('TH_reifyDecl1', normal, compile, ['-v0'])
54
test('TH_reifyDecl2', normal, compile, ['-v0'])
chak's avatar
chak committed
55 56 57

test('TH_reifyType1', normal, compile, [''])
test('TH_reifyType2', normal, compile, [''])
58
test('TH_reifyMkName', normal, compile, ['-v0'])
chak's avatar
chak committed
59

60
test('TH_spliceDecl1', normal, compile, ['-v0'])
chak's avatar
chak committed
61
test('TH_spliceDecl2', normal, compile, ['-v0'])
Ian Lynagh's avatar
Ian Lynagh committed
62 63 64 65 66 67 68 69
test('TH_spliceDecl3',
     extra_clean(['TH_spliceDecl3_Lib.hi', 'TH_spliceDecl3_Lib.o']),
     multimod_compile,
     ['TH_spliceDecl3', '-v0'])
test('TH_spliceDecl4',
     extra_clean(['TH_spliceDecl4_Lib.hi', 'TH_spliceDecl4_Lib.o']),
     multimod_compile,
     ['TH_spliceDecl4', '-v0'])
70

Simon Peyton Jones's avatar
Simon Peyton Jones committed
71 72 73 74 75 76 77 78 79 80
test('T2597a',
     extra_clean(['T2597a_Lib.hi', 'T2597a_Lib.o']),
     multimod_compile,
     ['T2597a', '-v0'])

test('T2597b',
     extra_clean(['T2597b_Lib.hi', 'T2597b_Lib.o']),
     multimod_compile_fail,
     ['T2597b', '-v0'])

81
test('TH_spliceE1', normal, compile_and_run, [''])
82
test('TH_spliceExpr1', normal, compile, ['-v0'])
83
test('TH_spliceE3', normal, compile, ['-v0'])
84
test('TH_spliceE4', normal, compile_and_run, [''])
85 86

test('TH_bracket1', normal, compile, [''])
87 88
test('TH_bracket2', normal, compile, [''])
test('TH_bracket3', normal, compile, [''])
89

90 91
test('TH_class1', normal, compile, ['-v0'])
test('TH_tuple1', normal, compile, ['-v0'])
Ian Lynagh's avatar
Ian Lynagh committed
92
test('TH_genEx',
93 94
     [extra_clean(['TH_genExLib.hi', 'TH_genExLib.o']),
      if_compiler_lt('ghc', '6.11', expect_fail)],
Ian Lynagh's avatar
Ian Lynagh committed
95 96
     multimod_compile,
     ['TH_genEx', '-v0'])
97

98
test('TH_where', normal, compile_and_run, [''])
99

100
test('TH_spliceInst', normal, compile, ['-v0'])
101

102
test('TH_exn1', normal, compile_fail, ['-v0'])
103

104
test('TH_dupdecl', normal, compile_fail, ['-v0'])
105
test('TH_exn2', normal, compile_fail, ['-v0'])
106 107

test('TH_recover', normal, compile_and_run, [''])
108
test('TH_dataD1', normal, compile_fail, ['-v0'])
Ian Lynagh's avatar
Ian Lynagh committed
109

110 111
test('TH_ppr1', normal, compile_and_run, ['-fglasgow-exts'])

112
test('TH_fail', normal, compile_fail, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
113 114
test('TH_scopedTvs', normal, compile_fail, ['-v0'])

115
test('TH_runIO', normal, compile_fail, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
116 117

test('TH_ghci1', normal, ghci_script, ['TH_ghci1.script'])
Ian Lynagh's avatar
Ian Lynagh committed
118

Simon Peyton Jones's avatar
Simon Peyton Jones committed
119
test('TH_scope', normal, compile, [''])
simonpj's avatar
simonpj committed
120
test('T2632', normal, compile, [''])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
121
test('T2700', normal, compile, ['-v0'])
simonpj's avatar
simonpj committed
122
test('T2817', normal, compile, ['-v0'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
123
test('T2713', normal, compile_fail, ['-v0'])
simonpj's avatar
simonpj committed
124
test('T2674', normal, compile_fail, ['-v0'])
simonpj's avatar
simonpj committed
125
test('T2931', normal, compile, ['-v0'])
simonpj's avatar
simonpj committed
126
test('TH_emptycase', normal, compile_fail, ['-v0'])
Ian Lynagh's avatar
Ian Lynagh committed
127

Simon Peyton Jones's avatar
Simon Peyton Jones committed
128 129 130
test('T2386', extra_clean(['T2386_Lib.hi', 'T2386_Lib.o']),
	      run_command,
	      ['$MAKE -s --no-print-directory T2386'] )
Simon Marlow's avatar
Simon Marlow committed
131

Simon Marlow's avatar
Simon Marlow committed
132 133
test('T2685', extra_clean(['T2685a.hi','T2685a.o']), 
              multimod_compile, ['T2685','-v0'])
134 135 136

test('TH_sections', normal, compile, ['-v0'])

137 138 139
test('TH_tf1', if_compiler_lt('ghc', '6.11', expect_fail), compile, ['-v0'])
test('TH_tf2', if_compiler_lt('ghc', '6.11', expect_fail), compile, ['-v0'])
test('TH_tf3', if_compiler_lt('ghc', '6.11', expect_fail), compile, ['-v0'])
140

Ian Lynagh's avatar
Ian Lynagh committed
141 142 143 144
test('TH_pragma',
     if_compiler_lt('ghc', '6.11', expect_fail),
     compile,
     ['-v0 -ddump-splices -dsuppress-uniques -S'])
Simon Peyton Jones's avatar
Simon Peyton Jones committed
145 146
test('T3177', normal, compile, ['-v0'])
test('T3177a', normal, compile_fail, ['-v0'])
Ian Lynagh's avatar
Ian Lynagh committed
147