Skip to content

Testsuite does not run certain tests in ways other than 'normal'

Summary

The following test types would not run at all in ways other than normal.

compile_fail, multimod_compile_fail, multimod_compile_filter, multi_compile, multi_compile_fail

For example, this test would never run, and has been already reported in #16121

test('T8131', [cmm_src, only_ways(llvm_ways)], compile_fail, ['-no-hs-main'])

There are two problems in this

  • the first is that llvm_ways is broken, this has been fixed by !5634 (merged)
  • But the second issue is that the compile_fail would cause running of only the normal way.

The problem is in this code in https://gitlab.haskell.org/ghc/ghc/-/blob/master/testsuite/driver/testlib.py , where only the compile and multimod_compile are being checked. In case of compile_fail the all_ways ends up with only ['normal'] which is ignored due to only_ways(llvm_ways).

        # All the ways we might run this test
        if func == compile or func == multimod_compile:
            all_ways = config.compile_ways
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information