Stop CheckA and CheckB sharing a source file
authorIan Lynagh <igloo@earth.li>
Fri, 15 Jul 2011 12:01:36 +0000 (13:01 +0100)
committerIan Lynagh <igloo@earth.li>
Fri, 15 Jul 2011 12:01:36 +0000 (13:01 +0100)
Caused failures when run in parallel

testsuite/tests/ghc-regress/safeHaskell/check/CheckB.hs
testsuite/tests/ghc-regress/safeHaskell/check/CheckB.stderr
testsuite/tests/ghc-regress/safeHaskell/check/CheckB_Aux.hs [new file with mode: 0644]
testsuite/tests/ghc-regress/safeHaskell/check/all.T

index f690aab..7e649a1 100644 (file)
@@ -3,7 +3,7 @@
 -- Since Safe we require base package be trusted to compile
 module CheckB where
 
-import CheckA
+import CheckB_Aux
 
 mainM :: Int -> Int
 mainM n = trace "Allowed Leak" $ n * 2
index 64acb24..f8321b3 100644 (file)
@@ -1,2 +1,2 @@
-[1 of 2] Compiling CheckA           ( CheckA.hs, CheckA.o )
+[1 of 2] Compiling CheckB_Aux       ( CheckB_Aux.hs, CheckB_Aux.o )
 [2 of 2] Compiling CheckB           ( CheckB.hs, CheckB.o )
diff --git a/testsuite/tests/ghc-regress/safeHaskell/check/CheckB_Aux.hs b/testsuite/tests/ghc-regress/safeHaskell/check/CheckB_Aux.hs
new file mode 100644 (file)
index 0000000..c04d510
--- /dev/null
@@ -0,0 +1,15 @@
+{-# LANGUAGE Trustworthy #-}
+module CheckB_Aux (
+        trace
+    ) where
+
+import qualified Debug.Trace as D
+import qualified Data.ByteString.Lazy.Char8 as BS
+
+-- | Allowed declasification
+trace :: String -> a -> a
+trace s = D.trace $ s ++ show a3
+
+a3 :: BS.ByteString
+a3 = BS.take 3 $ BS.repeat 'a'
+
index 2c705b1..2e769ba 100644 (file)
@@ -5,7 +5,9 @@ def f( opts ):
 setTestOpts(f)
 
 test('CheckA', normal, compile, [''])
-test('CheckB', normal, multimod_compile, ['CheckB', '-trust base'])
+test('CheckB',
+     extra_clean(['CheckB_Aux.hi', 'CheckB_Aux.o']),
+     multimod_compile, ['CheckB', '-trust base'])
 
 # fail as we don't trust base when compiling Check01
 test('Check01', normal, multi_compile_fail, ['Check01', [