... | ... | @@ -583,3 +583,39 @@ respectively. |
|
|
# Problems running the testsuite
|
|
|
|
|
|
1. If the test suite fails mysteriously, make sure that the `timeout` utility is working properly. This Haskell utility is compiled with the stage 1 compiler and invoked by the python driver, which does not print a nice error report if the utility fails. This can happen if, for example, the compiler produces bogus binaries. A workaround is to compile `timeout` with a stable `ghc`.
|
|
|
|
|
|
# The testsuite and branches
|
|
|
|
|
|
|
|
|
It is not clear what to do with the testsuite when branching a compiler; should the testsuite also be branched?
|
|
|
|
|
|
|
|
|
If it is not branched then we have the problem that, given a set of tests
|
|
|
|
|
|
```wiki
|
|
|
test(tc1, ...)
|
|
|
test(tc2, ...)
|
|
|
test(tc3, ...)
|
|
|
```
|
|
|
|
|
|
|
|
|
if we add first one test, and then another to the HEAD
|
|
|
|
|
|
```wiki
|
|
|
test(tc1, ...)
|
|
|
test(tc2, ...)
|
|
|
test(tc3, ...)
|
|
|
test(tc4, ...)
|
|
|
test(tc5, ...)
|
|
|
```
|
|
|
|
|
|
|
|
|
and we want to merge `tc5` but not `tc4` to the branch then the merge has to be done by hand,
|
|
|
as the patch for tc5 depends on the patch for tc4, although most of the files in the patches (`tc5.hs` etc) are disjoint.
|
|
|
|
|
|
|
|
|
On the other hand, if it is not branched then any changes in test output mean we need to add extra logic to the test definitions, e.g.
|
|
|
|
|
|
```wiki
|
|
|
test(tc5, namebase_if_compiler_lt('ghc','6.9', 'tc5-6.8'), ...)
|
|
|
``` |
|
|
\ No newline at end of file |