QC 2.0 missing some stuff I need

Hi, QuickCheck 1.x had this function: evaluate :: Testable a => a -> Gen Result which I used in TestPack to help wrap a QuickCheck test as a HUnit test case. QuickCheck 2.x seems to have no pure evaluate-like function at all; all of its functions are in the IO monad and also write their result to stdout, according to the docs. Am I missing something? Thanks, -- John

Hi John,
I also had this problem when adding a QuickCheck 2 provider to
test-framework (http://hackage.haskell.org/cgi-bin/hackage-scripts/package/test-framework-qu...).
In the end I had to copy considerable portions of the QuickCheck2 code
into the provider because there seems to be no pure interface at all
:-(. This is especially important for test-framework because it may
use threading to run several tests simultaneously, and you don't
really want output from multiple tests interleaved on the console.
Actually, despite copying a large chunk of QC2 into the provider I
/still/ didn't entirely stop it from writing to the console, so failed
QC2 properties running under test-framework write the arguments to the
properties that demonstrate failure BEFORE the message telling you the
property has failed! Upsetting, but I had to draw the line at copying
code somewhere.
Cheers,
Max
2009/3/11 John Goerzen
Hi,
QuickCheck 1.x had this function:
evaluate :: Testable a => a -> Gen Result
which I used in TestPack to help wrap a QuickCheck test as a HUnit test case. QuickCheck 2.x seems to have no pure evaluate-like function at all; all of its functions are in the IO monad and also write their result to stdout, according to the docs. Am I missing something?
Thanks,
-- John _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (2)
-
John Goerzen
-
Max Bolingbroke