diff --git a/trace-foreign-calls/test/Main.hs b/trace-foreign-calls/test/Main.hs index 0dc059d..ffd8761 100644 --- a/trace-foreign-calls/test/Main.hs +++ b/trace-foreign-calls/test/Main.hs @@ -1,34 +1,17 @@ module Main (main) where import Control.Concurrent.Async (concurrently) -import Test.Tasty -import Test.Tasty.HUnit -import Test.Tasty.Runners (NumThreads(..)) import Test.TraceForeignCalls.UsePlugin main :: IO () -main = defaultMain $ localOption (NumThreads 1) $ - testGroup "trace-foreign-calls" [ - testCase "answerIO" $ do - answer <- answerIO - assertEqual "" 42 $ answer - , testCase "answerPure" $ do - let answer = answerPure - assertEqual "" 42 $ answer - , testCase "slowAddIO" $ do - let a = 1_000_000_000 - b = 2_000_000_000 - result <- slowAddIO a b - assertEqual "" (a + b) $ result - , testCase "slowAddPure" $ do - let a = 1_000_000_000 - b = 2_000_000_000 - let result = slowAddPure a b - assertEqual "" (a + b) $ result - , testCase "slowAddConcurrent" $ do - let a = 1_000_000_000 - b = 2_000_000_000 - (ab, ba) <- concurrently (slowAddIO a b) (slowAddIO b a) - assertEqual "" ab ba - ] +main = do + print =<< answerIO + print $ answerPure + print =<< slowAddIO a b + print $ slowAddPure a b + (ab, ba) <- concurrently (slowAddIO a b) (slowAddIO b a) + print (ab, ba) + where + a = 1_000_000_000 + b = 2_000_000_000 diff --git a/trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs b/trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs index 50b956f..f351383 100644 --- a/trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs +++ b/trace-foreign-calls/test/Test/TraceForeignCalls/UsePlugin.hs @@ -13,11 +13,11 @@ module Test.TraceForeignCalls.UsePlugin ( import Foreign.C -foreign import capi "test_cbits.h answer" c_answerIO :: IO CInt -foreign import capi "test_cbits.h answer" c_answerPure :: CInt +foreign import capi unsafe "test_cbits.h answer" c_answerIO :: IO CInt +foreign import capi unsafe "test_cbits.h answer" c_answerPure :: CInt -foreign import capi "test_cbits.h slow_add" c_slowAddIO :: CLong -> CLong -> IO CLong -foreign import capi "test_cbits.h slow_add" c_slowAddPure :: CLong -> CLong -> CLong +foreign import capi unsafe "test_cbits.h slow_add" c_slowAddIO :: CLong -> CLong -> IO CLong +foreign import capi unsafe "test_cbits.h slow_add" c_slowAddPure :: CLong -> CLong -> CLong answerIO :: IO Int answerIO = fromIntegral <$> c_answerIO diff --git a/trace-foreign-calls/trace-foreign-calls.cabal b/trace-foreign-calls/trace-foreign-calls.cabal index 2f8a4a9..5caf117 100644 --- a/trace-foreign-calls/trace-foreign-calls.cabal +++ b/trace-foreign-calls/trace-foreign-calls.cabal @@ -62,7 +62,7 @@ test-suite test-trace-foreign-calls exitcode-stdio-1.0 ghc-options: -threaded - "-with-rtsopts -l -N" + "-with-rtsopts -l -N2" cc-options: -O0 hs-source-dirs: @@ -81,7 +81,5 @@ test-suite test-trace-foreign-calls build-depends: -- external dependencies , async - , tasty - , tasty-hunit