-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Tests and test support tools for distributed-process.
--
-- Tests and test suite for Cloud Haskell libraries, specifically the
-- core distributed-process library.
@package distributed-process-tests
@version 0.4.13
-- | This module provides basic building blocks for testing Cloud Haskell
-- programs.
module Control.Distributed.Process.Tests.Internal.Utils
-- | A mutable cell containing a test result.
type TestResult a = MVar a
-- | A simple Ping signal
data Ping
Ping :: Ping
ping :: ProcessId -> Process ()
pause :: Int -> Process ()
shouldContain :: (Show a, Eq a) => [a] -> a -> Process ()
shouldNotContain :: (Show a, Eq a) => [a] -> a -> Process ()
synchronisedAssertion :: Eq a => String -> LocalNode -> a -> (TestResult a -> Process ()) -> MVar () -> Assertion
-- | Control signals used to manage test processes
data TestProcessControl
-- | Starts a test process on the local node.
startTestProcess :: Process () -> Process ProcessId
-- | Runs a test process around the supplied proc, which is
-- executed whenever the outer process loop receives a Go signal.
runTestProcess :: Process () -> Process ()
-- | Tell a test process to continue executing
testProcessGo :: ProcessId -> Process ()
-- | Tell a test process to stop (i.e., terminate)
testProcessStop :: ProcessId -> Process ()
-- | Tell a test process to send a report (message) back to the
-- calling process
testProcessReport :: ProcessId -> Process ()
-- | Run the supplied testProc using an MVar to collect
-- and assert against its result. Uses the supplied note if the
-- assertion fails.
delayedAssertion :: Eq a => String -> LocalNode -> a -> (TestResult a -> Process ()) -> Assertion
-- | Takes the value of mv (using takeMVar) and asserts
-- that it matches a
assertComplete :: Eq a => String -> MVar a -> a -> IO ()
data Logger
-- | Create a new Logger. Logger uses a TQueue to receive and
-- process messages on a worker thread.
newLogger :: IO Logger
-- | Send a message to the Logger
putLogMsg :: Logger -> String -> Process ()
-- | Stop the worker thread for the given Logger
stopLogger :: Logger -> IO ()
tryRunProcess :: LocalNode -> Process () -> IO ()
tryForkProcess :: LocalNode -> Process () -> IO ProcessId
-- | Does exactly what it says on the tin, doing so in the Process
-- monad.
noop :: Process ()
stash :: TestResult a -> a -> Process ()
instance GHC.Show.Show Control.Distributed.Process.Tests.Internal.Utils.Ping
instance GHC.Classes.Eq Control.Distributed.Process.Tests.Internal.Utils.Ping
instance GHC.Generics.Generic Control.Distributed.Process.Tests.Internal.Utils.Ping
instance GHC.Generics.Generic Control.Distributed.Process.Tests.Internal.Utils.TestProcessControl
instance GHC.Generics.Generic Control.Distributed.Process.Tests.Internal.Utils.Private
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.Internal.Utils.Private
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.Internal.Utils.TestProcessControl
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.Internal.Utils.Ping
module Network.Transport.Test
-- | Extra operations required of transports for the purposes of testing.
data TestTransport
TestTransport :: Transport -> (EndPointAddress -> EndPointAddress -> IO ()) -> TestTransport
-- | The transport to use for testing.
[testTransport] :: TestTransport -> Transport
-- | IO action to perform to simulate losing a connection.
[testBreakConnection] :: TestTransport -> EndPointAddress -> EndPointAddress -> IO ()
module Control.Distributed.Process.Tests.Tracing
tests :: TestTransport -> IO [Test]
module Control.Distributed.Process.Tests.Stats
tests :: TestTransport -> IO [Test]
-- | XXX test doesn't work, because failure exceptions don't get
-- propagated. The test always claims to succeed, even if it failed.
module Control.Distributed.Process.Tests.Receive
tests :: TestTransport -> IO [Test]
module Control.Distributed.Process.Tests.Mx
tests :: TestTransport -> IO [Test]
instance GHC.Classes.Eq Control.Distributed.Process.Tests.Mx.Publish
instance GHC.Generics.Generic Control.Distributed.Process.Tests.Mx.Publish
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.Mx.Publish
module Control.Distributed.Process.Tests.Closure
tests :: TestTransport -> IO [Test]
module Control.Distributed.Process.Tests.CH
tests :: TestTransport -> IO [Test]
instance GHC.Show.Show Control.Distributed.Process.Tests.CH.Ping
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.CH.Ping
instance GHC.Show.Show Control.Distributed.Process.Tests.CH.Pong
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.CH.Pong
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.CH.DivByZero
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.CH.Divide
instance Data.Binary.Class.Binary Control.Distributed.Process.Tests.CH.Add