logging-1.0.0: test/main.hs
module Main where
import Control.Exception
import Control.Concurrent
import Control.Logging
import Prelude hiding (log)
import Test.Hspec
tryAny :: IO a -> IO (Either SomeException a)
tryAny = try
main :: IO ()
main = hspec $ do
describe "simple logging" $
it "logs output" $ (withStdoutLogging :: IO () -> IO ()) $ do
log "Hello, world!"
timedLog "Did a good thing" $ threadDelay 100000
_ <- tryAny $ timedLog "Did a bad thing" $
threadDelay 100000 >> error "foo"
_ <- tryAny $ errorL "Uh oh"
return ()