Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/fa85978a50435b596c10f2a5a79fb2d54ca105b3

>---------------------------------------------------------------

commit fa85978a50435b596c10f2a5a79fb2d54ca105b3
Author: Johan Tibell <johan.tib...@gmail.com>
Date:   Thu May 19 17:33:49 2011 +0200

    Always run cgrun068

>---------------------------------------------------------------

 tests/ghc-regress/codeGen/should_run/all.T       |    1 +
 tests/ghc-regress/codeGen/should_run/cgrun068.hs |   27 +++++++++++++--------
 2 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/tests/ghc-regress/codeGen/should_run/all.T 
b/tests/ghc-regress/codeGen/should_run/all.T
index 3c49510..84a196d 100644
--- a/tests/ghc-regress/codeGen/should_run/all.T
+++ b/tests/ghc-regress/codeGen/should_run/all.T
@@ -79,6 +79,7 @@ test('cgrun065', normal, compile_and_run, [''])
 test('cgrun066', normal, compile_and_run, [''])
 test('cgrun067', extra_clean(['Cgrun067A.hi', 'Cgrun067A.o']),
      compile_and_run, [''])
+test('cgrun068', normal, compile_and_run, [''])
 
 test('1861', extra_run_opts('0'), compile_and_run, [''])
 
diff --git a/tests/ghc-regress/codeGen/should_run/cgrun068.hs 
b/tests/ghc-regress/codeGen/should_run/cgrun068.hs
index c78edb3..f5096ad 100644
--- a/tests/ghc-regress/codeGen/should_run/cgrun068.hs
+++ b/tests/ghc-regress/codeGen/should_run/cgrun068.hs
@@ -3,6 +3,10 @@
 
 -- !!! stress tests of copying/cloning primitive arrays
 
+-- Note: You can run this test manually with an argument
+-- (i.e. ./cgrun068 10000) if you want to run the stress test for
+-- longer.
+
 {-
 Test strategy
 =============
@@ -32,12 +36,19 @@ import GHC.Exts
 import GHC.ST hiding (liftST)
 import Prelude hiding (length, read)
 import qualified Prelude as P
+import qualified Prelude as P
+import System.Environment
 import System.Random
 
 main :: IO ()
 main = do
-    putStr (test_copyMutableArray ++ "\n" ++
-            test_cloneMutableArray ++ "\n"
+    args <- getArgs
+    -- Number of copies to perform
+    let numMods = case args of
+            [] -> 100
+            [n] -> P.read n :: Int
+    putStr (test_copyMutableArray numMods ++ "\n" ++
+            test_cloneMutableArray numMods ++ "\n"
            )
 
 -- Number of arrays
@@ -48,10 +59,6 @@ numArrays = 100
 maxLen :: Int
 maxLen = 1024
 
--- Number of copies to perform
-numMods :: Int
-numMods = 10000
-
 -- Create an array of arrays, with each sub-array having random length
 -- and content.
 setup :: Rng s (MArray s (MArray s Int))
@@ -120,8 +127,8 @@ clone marr f = do
 
 -- Copy a slice of the source array into a destination array and check
 -- that the copy succeeded.
-test_copyMutableArray :: String
-test_copyMutableArray = runST $ run $ do
+test_copyMutableArray :: Int -> String
+test_copyMutableArray numMods = runST $ run $ do
     marr <- local setup
     marrRef <- setup
     let go i
@@ -165,8 +172,8 @@ unlinesShow =  concatMap (\ x -> show x ++ "\n")
 
 -- Copy a slice of the source array into a destination array and check
 -- that the copy succeeded.
-test_cloneMutableArray :: String
-test_cloneMutableArray = runST $ run $ do
+test_cloneMutableArray :: Int -> String
+test_cloneMutableArray numMods = runST $ run $ do
     marr <- local setup
     marrRef <- setup
     let go i



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to