testsuite: Be explicit about runtime test dependencies
Issue #8356 reports occasional errors from running the testsuite about multiple package versions available. This stems from the invokation of `runghc` not being explicit about all dependencies of the testsuite. The solution is provide a component in the cabal file which is explicit about which packages the tests can depend on. This component has a build-depends section which lists all the dependencies that the tests require. It would be better if this component was a library component but we can't do this with a Custom setup because of limitations to do with per-component builds. Then we also enable `-hide-all-packages`, so the dependency will not be available if it is not explicitly listed as a dependency. You could also imagine a future where the Setup.hs script found the test files and compiled a single executable which would run all the tests, rather than invoking runghc on each one individually. Fixes #8356
Showing
- cabal-testsuite/README.md 9 additions, 0 deletionscabal-testsuite/README.md
- cabal-testsuite/Setup.hs 1 addition, 1 deletioncabal-testsuite/Setup.hs
- cabal-testsuite/cabal-testsuite.cabal 28 additions, 12 deletionscabal-testsuite/cabal-testsuite.cabal
- cabal-testsuite/src/Test/Cabal/Script.hs 1 addition, 0 deletionscabal-testsuite/src/Test/Cabal/Script.hs
- cabal-testsuite/static/Main.hs 3 additions, 0 deletionscabal-testsuite/static/Main.hs
Loading
Please register or sign in to comment