... | ... | @@ -37,43 +37,3 @@ will do a full testsuite run (more thorough, but takes a lot longer). You should |
|
|
- [Updating test case results](building/running-tests/updating)
|
|
|
- [Adding new test cases](building/running-tests/adding)
|
|
|
- [Testsuite implementation details](building/running-tests/details) |
|
|
\ No newline at end of file |
|
|
|
|
|
## Problems running the testsuite
|
|
|
|
|
|
1. If the testsuite 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 version control 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 |