Tests conc069 and conc070 failing for unregistered build
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.
Trac metadata
Trac field | Value |
---|---|
Version | |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Test Suite |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |