Make sure running tests locally pick up the correct cradle type#3869
Conversation
If developers have a local `hie.yaml` for HLS development, this causes the tests to pick up said `hie.yaml`. This causes these tests to use a cabal cradle, slowing down the test execution. Should have no effect on CI, though, which never has a `hie.yaml` in the root of the project.
|
Is this the right branch? I don't see any |
Locally, I have a simple cabal cradle: cradle:
cabal:That's what is causing the issue for local development, if you happen to write a |
|
I mean, I don't see how the changes in this PR correspond to what you wrote in the description? Or maybe I'm being dumb? |
|
If it is unclear, then I need to make sure I express myself better :D When running tests, we should make sure that tests use a direct cradle unless they test a cabal-specific feature for performance but also test flakiness reasons. In CI, the HLS repository does not have a However, when you develop HLS, you may have a locally defined This PR makes sure that the |
|
Ah okay, so it's just the |
|
The other tests already copy the test data into a temporary directory and run the tests in there. I want to migrate these to the file tree feature I implemented a couple of months ago, too. |
If developers have a local
hie.yamlfor HLS development, this causes the tests to pick up saidhie.yaml. This causes these tests to use a cabal cradle, slowing down the test execution. Especially annoying in conjunction with the cabal issue haskell/cabal#8930.We make sure that all tests have a custom
hie.yamlor are copied outside the project directory.Should have no effect on CI, though, which never has a
hie.yamlin the root of the project.