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 |