update results (and add an expected failure) for the ioprof test
[ghc.git] / testsuite / tests / profiling / should_run / all.T
1 # Test for #1227, #1418
2
3 extra_prof_ways = ['prof', 'prof_hc_hb', 'prof_hb', 'prof_hd', 'prof_hy', 'prof_hr']
4
5 test('heapprof001',
6      composes([only_ways(prof_ways + extra_prof_ways),
7                extra_ways(extra_prof_ways),
8                req_profiling,
9                extra_run_opts('7')]),
10      compile_and_run, [''])
11
12 test('2592',
13      [only_ways(['profasm']), req_profiling,
14       extra_run_opts('+RTS -M1m -RTS'), exit_code(251)],
15      compile_and_run, [''])
16
17 test('T3001',
18      [only_ways(['prof_hb']), extra_ways(['prof_hb']), req_profiling],
19      compile_and_run, [''])
20
21 test('T3001-2',
22      [only_ways(['prof_hb']), extra_ways(['prof_hb']), req_profiling],
23      compile_and_run, ['-package bytestring'])
24
25 test('scc001', [req_profiling,
26                 extra_ways(['prof']), only_ways(['prof'] + prof_ways)],
27      compile_and_run,
28      ['-fno-state-hack']) # Note [consistent stacks]
29
30 test('scc002', [req_profiling,
31                 extra_ways(['prof']), only_ways(['prof'] + prof_ways)],
32      compile_and_run,
33      [''])
34
35 test('scc003', [req_profiling,
36                 extra_ways(['prof']), only_ways(['prof'] + prof_ways)],
37      compile_and_run,
38      ['-fno-state-hack']) # Note [consistent stacks]
39
40 test('5314',
41      [ only_ways(prof_ways + extra_prof_ways),
42        extra_ways(extra_prof_ways),
43        req_profiling ],
44      compile_and_run,
45      [''])
46
47 test('T680',
48      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways) ],
49      compile_and_run,
50      ['-fno-full-laziness']) # Note [consistent stacks]
51
52 test('T2552',
53      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways) ],
54      compile_and_run,
55      [''])
56
57 test('T949',
58      [ req_profiling, extra_ways(extra_prof_ways), only_ways(extra_prof_ways) ],
59      compile_and_run,
60      [''])
61
62 test('ioprof',
63      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways),
64        expect_fail_for(['prof']),
65         # The results for 'prof' are fine, but the ordering changes.
66         # We care more about getting the optimised results right, so ignoring
67         # this for now.
68        exit_code(1) ],
69      compile_and_run,
70      ['-fno-full-laziness -fno-state-hack']) # Note [consistent stacks]
71
72 # These two examples are from the User's Guide:
73
74 test('prof-doc-fib',
75      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways) ],
76      compile_and_run,
77      [''])
78
79 test('prof-doc-last',
80      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways) ],
81      compile_and_run,
82      ['-fno-full-laziness'])
83
84 test('T5559', # unicode in cost centre names
85      [ req_profiling, extra_ways(['prof']), only_ways(['prof'] + prof_ways) ],
86      compile_and_run,
87      [''])
88
89 # Note [consistent stacks]
90 #  Certain optimisations can change the stacks we get out of the
91 #  profiler.  These flags are necessary (but perhaps not sufficient)
92 #  to get consistent stacks:
93 #
94 #       -fno-state-hack
95 #       -fno-full-laziness
96