Add a multi_cpu_race helper
authorIan Lynagh <ian@well-typed.com>
Wed, 17 Apr 2013 19:43:49 +0000 (20:43 +0100)
committerIan Lynagh <ian@well-typed.com>
Wed, 17 Apr 2013 19:43:49 +0000 (20:43 +0100)
This makes the test run alone, to increase the chance of a
multi-CPU race happening.

testsuite/driver/testlib.py
testsuite/tests/rts/all.T

index cde55f3..d804e2f 100644 (file)
@@ -387,6 +387,11 @@ def _namebase( opts, nb ):
 def high_memory_usage(name, opts):
     opts.alone = True
 
+# If a test is for a multi-CPU race, then running the test alone
+# increases the chance that we'll actually see it.
+def multi_cpu_race(name, opts):
+    opts.alone = True
+
 # ---
 def literate( name, opts ):
     opts.literate = 1;
index f345b3b..a592d96 100644 (file)
@@ -166,7 +166,6 @@ test('stablename001', expect_fail_for(['hpc']), compile_and_run, [''])
 # hpc should fail this, because it tags every variable occurrence with
 # a different tick.  It's probably a bug if it works, hence expect_fail.
 
-# Run this test alone (via, high_memory_usage) to increase chances of seeing the race.
-test('T7815', [ high_memory_usage,
+test('T7815', [ multi_cpu_race,
                 extra_run_opts('50000 +RTS -N2 -RTS'),
                 only_ways(['threaded1', 'threaded2']) ], compile_and_run, [''] )