Skip to content
Snippets Groups Projects
Commit 0d2a4258 authored by Ben Gamari's avatar Ben Gamari Committed by Marge Bot
Browse files

testsuite: Introduce concurrent_ways set

Previously we just tested for the threaded2 when determining whether to
skip tests which are fragile under concurrent execution. However, this
isn't the only way which is concurrent.
parent 76b7f619
No related branches found
No related tags found
No related merge requests found
......@@ -115,10 +115,10 @@ config.way_rts_flags = {
'sanity' : ['-DS'],
'threaded1' : [],
'threaded1_ls' : ['-ls'],
'threaded2' : ['-N2 -ls'],
'threaded2' : ['-N2', '-ls'],
'threaded2_hT' : ['-N2', '-hT'],
'hpc' : [],
'prof_hc_hb' : ['-hc -hbvoid'],
'prof_hc_hb' : ['-hc', '-hbvoid'],
'prof_hb' : ['-hb'],
'prof_hd' : ['-hd'],
'prof_hy' : ['-hy'],
......@@ -144,6 +144,11 @@ prof_ways = [x[0] for x in config.way_flags.items()
threaded_ways = [x[0] for x in config.way_flags.items()
if '-threaded' in x[1] or 'ghci' == x[0]]
# Ways which run with multiple capabilities
concurrent_ways = [name for name, flags in config.way_flags.items()
if '-threaded' in flags or 'ghci' == name
if '-N2' in config.way_rts_flags.get(name, [])]
opt_ways = [x[0] for x in config.way_flags.items()
if '-O' in x[1]]
......
......@@ -17,8 +17,8 @@ test('conc069a', only_threaded_ways, compile_and_run, [''])
# those for now.
test('conc070', only_threaded_ways, compile_and_run, [''])
test('conc071', omit_ways(['threaded2']), compile_and_run, [''])
test('conc072', only_ways(['threaded2']), compile_and_run, [''])
test('conc071', omit_ways(concurrent_ways), compile_and_run, [''])
test('conc072', only_ways(concurrent_ways), compile_and_run, [''])
test('conc073', normal, compile_and_run, [''])
# vector code must get inlined to become non-allocating
......@@ -67,7 +67,7 @@ test('allowinterrupt001', normal, compile_and_run, [''])
# try hard to provoke the error by running the test 100 times
test('T5558',
[ only_ways(['threaded2']),
[ only_ways(concurrent_ways),
cmd_wrapper(
lambda c: "for i in %s; do %s || break; done" %
(" ".join(str(i) for i in range(1,101)), c)) ],
......@@ -88,7 +88,7 @@ test('T7970', normal, compile_and_run, [''])
test('AtomicPrimops', normal, compile_and_run, [''])
# test uses 2 threads and yield, scheduling can vary with threaded2
test('threadstatus-9333', [fragile_for(16555, ['ghci']), omit_ways(['threaded2'])], compile_and_run, [''])
test('threadstatus-9333', [fragile_for(16555, ['ghci']), omit_ways(concurrent_ways)], compile_and_run, [''])
test('T9379', normal, compile_and_run, [''])
......@@ -132,7 +132,7 @@ test('conc013', normal, compile_and_run, [''])
test('conc014', normal, compile_and_run, [''])
test('conc015', normal, compile_and_run, [''])
test('conc015a', normal, compile_and_run, [''])
test('conc016', omit_ways(['threaded2']), # see comment in conc016.hs
test('conc016', omit_ways(concurrent_ways), # see comment in conc016.hs
compile_and_run, [''])
test('conc017', normal, compile_and_run, [''])
test('conc017a', normal, compile_and_run, [''])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment