-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A typed-process companion library for sydtest -- -- A typed-process companion library for sydtest @package sydtest-process @version 0.0.0.0 module Test.Syd.Process -- | Run a given process while a test is running and give access to a -- process handle as an inner resource. -- -- See processSetupFunc. processSpec :: CreateProcess -> TestDefM outers (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) result -> TestDefM outers () result -- | Run a given process while a group of tests is running and give access -- to a process handle as an outer resource. -- -- See processSetupFunc. -- --

FOOTGUN

-- -- The process will be shared accross multiple tests. This may well be a -- good idea because starting the process can be prohibitively expensive -- to do around every test. However, sharing the process means that tests -- could be sharing state. When using this function, it is important to -- implement some form of cleaning the state before every test. It is -- also important to use sequential if some such state is -- maintained (and cleaned) so that the state is not cleaned while -- another test is running. outerProcessSpec :: CreateProcess -> TestDefM ((Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) : outers) inner result -> TestDefM outers inner result -- | Set up a process beforehand and stop it afterwards. -- -- The process will be terminated using cleanupProcess. processSetupFunc :: CreateProcess -> SetupFunc (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)