Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- typedProcessSpec :: ProcessConfig stdin stdout stderr -> TestDefM outers (Process stdin stdout stderr) result -> TestDefM outers () result
- outerTypedProcessSpec :: ProcessConfig stdin stdout stderr -> TestDefM (Process stdin stdout stderr ': outers) inner result -> TestDefM outers inner result
- typedProcessSetupFunc :: ProcessConfig stdin stdout stderr -> SetupFunc (Process stdin stdout stderr)
Documentation
typedProcessSpec :: ProcessConfig stdin stdout stderr -> TestDefM outers (Process stdin stdout stderr) result -> TestDefM outers () result Source #
Run a given process while a test is running and give access to a process handle as an inner resource.
outerTypedProcessSpec :: ProcessConfig stdin stdout stderr -> TestDefM (Process stdin stdout stderr ': outers) inner result -> TestDefM outers inner result Source #
Run a given process while a group of tests is running and give access to a process handle as an outer resource.
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.
typedProcessSetupFunc :: ProcessConfig stdin stdout stderr -> SetupFunc (Process stdin stdout stderr) Source #
Set up a process beforehand and stop it afterwards.
The process will be terminated using stopProcess
.