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
* 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)`.
```python
# All the ways we might run this test
if func == compile or func == multimod_compile:
all_ways = config.compile_ways
```
issue