Skip to content
Snippets Groups Projects
  • Matthew Pickering's avatar
    5c2286a4
    testsuite: Be explicit about runtime test dependencies · 5c2286a4
    Matthew Pickering authored
    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
    5c2286a4
    History
    testsuite: Be explicit about runtime test dependencies
    Matthew Pickering authored
    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
Code owners
Assign users and groups as approvers for specific file changes. Learn more.