
On Wed, 2008-01-09 at 10:27 +0000, Adrian Hey wrote:
Is this really the way tests are supposed to be included?
It doesn't seem workable to me. I wonder if it would be better to just build the lib first (without tests) and then separately build one or more test executables?
What does everyone else do about this?
I've only seen one package that actually uses tests integrated into the Setup.hs. So it seems everyone just runs tests manually. This is a fairly large hole in the Cabal story at the moment imho. Part of the problem is that we don't support custom Setup.hs stuff very well, we encourage people to use the simple build system. But for tests, even if it used the simple build system we'd end up making it use the custom flavour just to run some tests. It's not very satisfactory. I wonder if we shouldn't move tests into their own file completely. The problem always with custom Setup.hs scripts is that they're the first point of entry, and if it does not compile then everything is stuffed and you don't get a good error message. Duncan

On Wed, 9 Jan 2008, Duncan Coutts wrote:
On Wed, 2008-01-09 at 10:27 +0000, Adrian Hey wrote:
Is this really the way tests are supposed to be included?
It doesn't seem workable to me. I wonder if it would be better to just build the lib first (without tests) and then separately build one or more test executables?
What does everyone else do about this?
I've only seen one package that actually uses tests integrated into the Setup.hs. So it seems everyone just runs tests manually. This is a fairly large hole in the Cabal story at the moment imho.
Part of the problem is that we don't support custom Setup.hs stuff very well, we encourage people to use the simple build system. But for tests, even if it used the simple build system we'd end up making it use the custom flavour just to run some tests. It's not very satisfactory.
I wonder if we shouldn't move tests into their own file completely.
... as it is planned for executables, right? I used the Cabal test mechanism once, but it was not portable between different versions of Cabal. Thus I added an Executable stanza to the Cabal file and run the resulting test binary by darcs. Of course I think that in the long run tests should be managed by Cabal somehow in order to let Hackage check uploaded packages against their test suites or in order to let compiler implementors check whether new compiler versions break existing code.

On Wed, Jan 09, 2008 at 01:39:21PM +0000, Duncan Coutts wrote:
I've only seen one package that actually uses tests integrated into the Setup.hs. So it seems everyone just runs tests manually. This is a fairly large hole in the Cabal story at the moment imho.
Part of the problem is that we don't support custom Setup.hs stuff very well, we encourage people to use the simple build system. But for tests, even if it used the simple build system we'd end up making it use the custom flavour just to run some tests. It's not very satisfactory.
I wonder if we shouldn't move tests into their own file completely. The problem always with custom Setup.hs scripts is that they're the first point of entry, and if it does not compile then everything is stuffed and you don't get a good error message.
Yes, I think a file-level hook for tests is the way to go.
participants (3)
-
Duncan Coutts
-
Henning Thielemann
-
Ross Paterson