Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information