pqc-0.2: Parallel batch driver for QuickCheck

Portabilitynon-portable (uses Control.Exception, Control.Concurrent)
Stabilityexperimental
Maintainerdons@cse.unsw.edu.au

Test.QuickCheck.Parallel

Description

A parallel batch driver for running QuickCheck on threaded or SMP systems. See the Example.hs file for a complete overview.

Synopsis

Documentation

pRun :: Int -> Int -> [Test] -> IO ()Source

Run a list of QuickCheck properties in parallel chunks, using n Haskell threads (first argument), and test to a depth of d (second argument). Compile your application with '-threaded' and run with the SMP runtime's '-N4' (or however many OS threads you want to donate), for best results.

 import Test.QuickCheck.Parallel

 do n <- getArgs >>= readIO . head
    pRun n 1000 [ ("sort1", pDet prop_sort1) ]

Will run n threads over the property list, to depth 1000.

pDet :: Testable a => a -> Int -> IO StringSource

Wrap a property, and run it on a deterministic set of data

pNon :: Testable a => a -> Int -> IO StringSource

Wrap a property, and run it on a non-deterministic set of data