update tests after change to catchSTM
authorSimon Marlow <marlowsd@gmail.com>
Wed, 20 Oct 2010 14:00:46 +0000 (14:00 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 20 Oct 2010 14:00:46 +0000 (14:00 +0000)
tests/2411.hs
tests/stm046.hs
tests/stm061.hs

index d0fce29..c889fd4 100644 (file)
@@ -13,5 +13,5 @@ main = do
                                    writeTVar tv "testing"
                                    if read s `mod` 25 == 0
                                      then throw $ AssertionFailed ("SimulatedException " ++ s)
-                                     else return s) `catchSTM` (\e -> return (show e))
+                                     else return s) `catchSTM` (\e -> return (show (e::SomeException)))
                           putStrLn x
index 78217da..e2fc39e 100644 (file)
@@ -22,11 +22,13 @@ stmupdates v1 v2 = do writeTVar v1 "About to throw exception"
 internalexn :: TVar String -> TVar String -> STM ()
 internalexn v1 v2 = catchSTM ( do writeTVar v1 "About to throw exception"
                                   throw (ErrorCall "Exn holding string" ))
-                             (\_ -> writeTVar v1 "Reached handler ")
+                             (\e -> let _ = e :: SomeException in
+                                    writeTVar v1 "Reached handler ")
 
 internalexn2 :: TVar String -> TVar String -> STM ()
 internalexn2 v1 v2 = catchSTM ( do writeTVar v1 "Hello " )
-                              (\_ -> writeTVar v1 "Reached handler2 ")
+                              (\e -> let _ = e :: SomeException in
+                                     writeTVar v1 "Reached handler2 ")
 
 -- Exception handling within / around memory transactions
 main = do putStr "Before\n"
index 26632d9..4c29558 100644 (file)
@@ -29,7 +29,7 @@ main = do putStr "Starting\n";
           putStr ("Trying a catchSTM without raising an exception\n");
           Control.Exception.catch (atomically ( 
                                      catchSTM ( do writeTVar t 17 )
-                                              ( \e -> throw e  ) ) )
+                                              ( \e -> throw (e::SomeException)  ) ) )
            (\(e::SomeException) -> putStr ("Caught: " ++ (show e) ++ "\n"))
 
           v <- atomically (readTVar t)
@@ -43,7 +43,7 @@ main = do putStr "Starting\n";
           Control.Exception.catch (atomically ( 
                                      catchSTM ( do writeTVar t 42
                                                    throw (ErrorCall "Exn raised in a tx") )
-                                              ( \e -> throw e  ) ) )
+                                              ( \e -> throw (e::SomeException)  ) ) )
            (\(e::SomeException) -> putStr ("Caught: " ++ (show e) ++ "\n"))
 
           v <- atomically (readTVar t)
@@ -58,7 +58,7 @@ main = do putStr "Starting\n";
                     do writeTVar t 0
                        catchSTM ( do writeTVar t 1
                                      throw (ErrorCall "Exn raised in a tx") )
-                                ( \_ -> return () ) 
+                                ( \e -> let _ = e :: SomeException in return () )
                        readTVar t )
           putStr ("TVar contained " ++ (show v) ++ " at end of atomic block\n")
 
@@ -71,7 +71,7 @@ main = do putStr "Starting\n";
           putStr ("Testing retry inside catchSTM\n");
           Control.Exception.catch (atomically ( 
                                      ( catchSTM ( retry )
-                                                ( \e -> throw e  ) ) 
+                                                ( \e -> throw (e::SomeException)  ) )
                                      `orElse` ( return () ) ) )
            (\(e::SomeException) -> putStr ("Caught: " ++ (show e) ++ "\n"))