Next steps for "cabal test" feature

Thomas, As you'll have noticed, I've pushed all your cabal test patches. I did a bit of reorganising on top of that but nothing drastic. For the moment I've kept the "detailed" test type at version 0.9 since we are still discussing some details there. I've added a few TODOs in the test section of Distribution/Simple/Setup.hs. Either you or I should have a go at those some time. I think we talked about the append and reply features before. I don't recall if you said we needed them or not. For the Cabal-1.10 branch, I'm toying between a few options: 1. Remove the test feature from the 1.10.x release entirely 2. Update to the current state of the test patches in cabal HEAD 3. Update to the current state of the test patches in cabal HEAD but then disable the detailed test type, keeping just the basic test interface for the 1.10.x releases. We have to do something because the current 1.10.x branch has half the test patches and so has a random intermediate API. I'm inclined to go for option 3. The plan would be to get some experience with the basic interface in a few real packages and to work on getting the detailed API sorted out in time for the next major release. That does not need to be 12 months away, I've done major releases part-way in the GHC cycle before. Lemme know what you think. Duncan

On Sun, Oct 10, 2010 at 4:24 PM, Duncan Coutts
Thomas,
As you'll have noticed, I've pushed all your cabal test patches. I did a bit of reorganising on top of that but nothing drastic.
For the moment I've kept the "detailed" test type at version 0.9 since we are still discussing some details there.
I've added a few TODOs in the test section of Distribution/Simple/Setup.hs. Either you or I should have a go at those some time. I think we talked about the append and reply features before. I don't recall if you said we needed them or not.
For the Cabal-1.10 branch, I'm toying between a few options: 1. Remove the test feature from the 1.10.x release entirely 2. Update to the current state of the test patches in cabal HEAD 3. Update to the current state of the test patches in cabal HEAD but then disable the detailed test type, keeping just the basic test interface for the 1.10.x releases.
We have to do something because the current 1.10.x branch has half the test patches and so has a random intermediate API. I'm inclined to go for option 3. The plan would be to get some experience with the basic interface in a few real packages and to work on getting the detailed API sorted out in time for the next major release. That does not need to be 12 months away, I've done major releases part-way in the GHC cycle before. Lemme know what you think.
I'm also inclined toward option 3. I don't think developers are going to rush to immediately convert their test suites to the detailed interface anyway, so the benefits of having it are mostly long-term. There are also the issues to work out with Max. Additionally, several people approached me at HIW with the same concern about the TestOptions class--using class functions as data field accessors--and I think I can address those concerns and make a better interface all in one go. So, option 3 gives us time to think about these things. -- Thomas Tuegel

On Mon, 2010-10-11 at 19:07 -0500, Thomas Tuegel wrote:
On Sun, Oct 10, 2010 at 4:24 PM, Duncan Coutts
wrote:
For the Cabal-1.10 branch, I'm toying between a few options: 1. Remove the test feature from the 1.10.x release entirely 2. Update to the current state of the test patches in cabal HEAD 3. Update to the current state of the test patches in cabal HEAD but then disable the detailed test type, keeping just the basic test interface for the 1.10.x releases.
We have to do something because the current 1.10.x branch has half the test patches and so has a random intermediate API. I'm inclined to go for option 3. The plan would be to get some experience with the basic interface in a few real packages and to work on getting the detailed API sorted out in time for the next major release. That does not need to be 12 months away, I've done major releases part-way in the GHC cycle before. Lemme know what you think.
I'm also inclined toward option 3. I don't think developers are going to rush to immediately convert their test suites to the detailed interface anyway, so the benefits of having it are mostly long-term. There are also the issues to work out with Max. Additionally, several people approached me at HIW with the same concern about the TestOptions class--using class functions as data field accessors--and I think I can address those concerns and make a better interface all in one go. So, option 3 gives us time to think about these things.
Ok, excellent, lets go for option 3 then. I'm cc'ing Ian since this is relevant for the Cabal-1.10 branch and thus the GHC 7.x release. Duncan
participants (2)
-
Duncan Coutts
-
Thomas Tuegel