should_run/allocLimit4: disable ghci way
authorSergei Trofimovich <siarheit@google.com>
Fri, 19 Jun 2015 21:54:15 +0000 (22:54 +0100)
committerSergei Trofimovich <siarheit@google.com>
Fri, 19 Jun 2015 21:57:29 +0000 (22:57 +0100)
Test sets allocation limit for a current main thread,
ghci already loaded a bunch of stuff in it.

Signed-off-by: Sergei Trofimovich <siarheit@google.com>
testsuite/tests/concurrent/should_run/all.T
testsuite/tests/concurrent/should_run/allocLimit4.hs

index 2d3ac2e..3d059bd 100644 (file)
@@ -99,7 +99,9 @@ test('allocLimit2', normal, compile_and_run, [''])
 test('allocLimit3', [ when(opsys('mingw32'), only_ways(threaded_ways)),
                       exit_code(1) ], compile_and_run, [''])
 
-test('allocLimit4', [ extra_run_opts('+RTS -xq300k -RTS') ],
+test('allocLimit4', [ extra_run_opts('+RTS -xq300k -RTS'),
+                      # ghci consumes part of set limit at startup
+                      omit_ways(['ghci']) ],
                     compile_and_run, [''])
 
 # -----------------------------------------------------------------------------
index b589ffa..842ad1c 100644 (file)
@@ -8,6 +8,7 @@ import Control.Monad
 
 -- check that +RTS -xq is doing the right thing: the test requires
 -- +RTS -xq300k
+-- Test does not work in GHCi as it load A Lot Of Things at start
 
 main = do
   m <- newEmptyMVar
@@ -19,7 +20,7 @@ main = do
          case e of
            Left AllocationLimitExceeded{} -> do
              c <- getAllocationCounter
-             when (c < 250*1024 || c > 350*1024) $ fail "wrong limit grace"
+             when (c < 250*1024 || c > 350*1024) $ fail $ "wrong limit grace: " ++ show c
              print (length [2..])
            Right _ ->
              fail "didn't catch AllocationLimitExceeded"