
dbenbenn:
On 12/3/07, Don Stewart
wrote: I wish I could use QuickCheck to write an actual unit test: that is, an executable program that returns 0 on success, and non-zero on failure. Then we could put these properties in the tests/ directory, and have them automatically executed. Is anyone working on such a feature for QuickCheck?
The 'quickCheck' function does this, iirc.
I don't think so. I do:
cat foo.hs import Test.QuickCheck main = quickCheck False runhaskell foo.hs Falsifiable, after 0 tests: echo $? 0
As far as I can see, quickCheck never causes an error exit to happen. And it doesn't even return IO Bool, so I can't use quickCheck to write my own function that calls System.Exit.exitFailure
Oh, there's something like this that does actually work in xmonad's tests directory (we use it to have darcs prevent bad patches). Perhaps steal that? -- Don