id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
3551,Tests conc069 and conc070 failing for unregistered build,dterei,simonmar,"The two tests ''conc069'' and ''conc070'' both fail for an unregistered build.

I believe the issue is that both these tests are meant to be skipped. ''conc069'' requires a threaded RTS, which isn't possible in an unregistered build and ''conc070'' runs fine but apparently produces slightly different output for an unregistered build.

The driver file for these test, ''./concurrent/should_run/all.T'' contains the following:
{{{
if ('threaded1' in config.run_ways):
   threaded_ways = ['ghci','threaded1','threaded2']
else:
   threaded_ways = []

test('conc069', only_ways(threaded_ways), compile_and_run, [''])
# this test gives slightly different results for non-threaded ways, so omit
# those for now.
test('conc070', only_ways(threaded_ways), compile_and_run, [''])
test('conc070', only_ways(threaded_ways), compile_and_run, [''])
}}}

My understanding is that the if clause is meant to skip the test if 'threaded1' hasn't been set. However the else clause doesn't achieve this, giving only_ways and empty list instead causes it to run every way. Changing these lines to:
{{{
if ('threaded1' in config.run_ways):
   threaded_ways = ['ghci','threaded1','threaded2']
else:
   threaded_ways = ['']
}}}
Seems to work as intended, causing ''conc069'' and ''conc070'' to be skipped when not using a threaded RTS.",bug,closed,normal,6.12.1,Test Suite,,fixed,,,Unknown/Multiple,Unknown/Multiple,,Unknown,conc069,,,
