#37, let the generator take an argument of the number of tests
authorNeil Mitchell <ndmitchell@gmail.com>
Mon, 3 Nov 2014 10:50:14 +0000 (10:50 +0000)
committerNeil Mitchell <ndmitchell@gmail.com>
Mon, 3 Nov 2014 10:50:14 +0000 (10:50 +0000)
.ghci
tests/Test.hs

diff --git a/.ghci b/.ghci
index e9e1bba..c05f736 100644 (file)
--- a/.ghci
+++ b/.ghci
@@ -8,6 +8,6 @@ import qualified System.FilePath.Posix as P
 :def docs const $ return $ unlines [":docs_",":!start dist\\doc\\html\\filepath\\System-FilePath.html"]
 
 :def gen const $ return "Generate.main"
-:def test const $ return "Test.main"
+:def test \x -> return $ if null x then "Test.main" else "System.Environment.withArgs [" ++ show x ++ "] Test.main"
 :def go const $ return $ unlines [":reload",":gen",":reload",":test",":gen",":reload"]
 :def testfull const $ return $ unlines [":reload","gen",":reload","!cabal test"]
index 5f8fbdc..9b96db4 100755 (executable)
@@ -1,6 +1,7 @@
 
 module Test(main) where
 
+import System.Environment
 import TestGen
 import Control.Monad
 import Test.QuickCheck
@@ -8,10 +9,13 @@ import Test.QuickCheck
 
 main :: IO ()
 main = do
+    args <- getArgs
+    let count = case args of i:_ -> read i; _ -> 10000
+    putStrLn $ "Testing with " ++ show count ++ " repetitions"
     let total = length tests
     bs <- forM (zip [1..] tests) $ \(i,(msg,prop)) -> do
         putStrLn $ "Test " ++ show i ++ " of " ++ show total ++ ": " ++ msg
-        res <- quickCheckWithResult stdArgs{maxSuccess=10000} prop
+        res <- quickCheckWithResult stdArgs{maxSuccess=count} prop
         case res of
             Success{} -> return True
             _ -> putStrLn "TEST FAILURE!" >> return False