úÎ>7ðp      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoNoneL-Sets a custom variable in the sandbox monad. M.Checks that a custom sandbox variable is set. N^Returns the value of a previously set sandbox variable (or a provided default value if unset) OUnsets a custom variable. T  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL"Variable key for future reference Variable value M Variable key N Variable key Default value if not found O Variable key PQRSTUVpqrS  !"#$%&'()*+st,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVQ+()* !"#$%&',-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS   TUV6    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVpqr(Benjamin Surma <benjamin.surma@gree.net>NoneWEOptional parameters when registering a process in the Sandbox monad. YBTime to wait (in s.) before checking that the process is still up Z"Which outputs to capture (if any) [ACreates a sandbox and execute the given actions in the IO monad. \*Registers a process in the Sandbox monad. ]\Communicates with a sandboxed process via TCP and returns the answered message as a string. ^CStarts the given process, runs the action, then stops the process. F The process is managed by the functions start and stop respectively. _\Helper function: starts a process, wait for it to terminate and return its captured output. `1Starts a previously registered process (verbose) a>Starts all registered processes (in their registration order) b8Gracefully stops a previously started process (verbose) c"Sends a POSIX signal to a process dPGracefully stops all registered processes (in their reverse registration order) e;Returns the effective binary path of a registered process. fRReturns the handles used to communicate with a registered process using standard I/O. g7Returns the last captured output of a started process. h1Interacts with a sandboxed process via standard I/O. iEReturns an unbound user TCP port and stores it for future reference. j3Explicitely sets a port to be returned by getPort. k>Creates a temporary file in the sandbox and returns its path. l:Returns the path of a file previously created by setFile. mCTemporarily sets a variable for the execution of the given action. nFReturns the temporary directory used to host the sandbox environment. o$Executes the given action silently. WXYZ[ Name of the sandbox environment Action to perform \ Process name Path to the application binary &Arguments to pass on the command-line Process settings ]Name of the registered port  Input string /Time to wait before timeout (in milli-seconds) ^ Process name Action to run _` Process name aub Process name c Process name Signal to send de Process name f Process name g Process name h Process name  Input string /Time to wait before timeout (in milli-seconds) iPort name for future reference jPort name for future reference TCP port number kFile name for future reference File contents lFile name used during setFile m Variable key Variable value Action to run noAction to execute v((LMNOWXYZ[\]^_`abcdefghijklmno((WXYZ[\_^`abdcoh]gfiejlknMNLOmWXYZ[\]^_`aubcdefghijklmnovw    !"#$%&''()*+,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^^_`abcdefghijklmnopqrstuvwxyz{|}test-sandbox-0.0.1.6 Test.SandboxTest.Sandbox.Internalsdata-default-class-0.0.1Data.Default.Classdeflifted-base-0.2.1.0Control.Exception.Liftedfinallybrackettransformers-0.3.0.0Control.Monad.IO.ClassliftIO mtl-2.1.2Control.Monad.Error.Class throwError catchErrorSandboxTestOptionsstoSeedstoMaximumGeneratedTests"stoMaximumUnsuitableGeneratedTestsstoMaximumTestSize SandboxSeedSandboxRandomSeedSandboxFixedSeedSandboxedProcessInstanceStoppedInstanceRunningInstanceCapture CaptureBoth CaptureStderr CaptureStdoutSandboxedProcessspNamespBinaryspArgsspWait spCapture spInstance SandboxStatessName ssDataDir ssProcessesssProcessOrderssAllocatedPortsssAvailablePortsssFiles ssVariablesSandbox runSandboxSandboxStateRefgetputprettyheaderfooternewSandboxStateregisterProcessisValidProcessName getProcess updateProcess secondInµssetFile' bufferSizehReadWithTimeout sendToPort getNewPort isBindable startProcessformatCommandLine stopProcesshSignalProcess killProcess hGetProcessIDinteractWithProcessgetProcessInputHandlegetProcessCapturedOutputHandlegetProcessBinaryfindExecutables tryBinarygetProcessCandidateBinariesexpandwhenM setVariable checkVariable getVariable unsetVariable isVerbose verbosityKey displayBannerinstallSignalHandlers putOptions getOptionsoptionsVariableProcessSettingspsWait psCapturesandboxregistersendTo withProcessrunstartstartAllstopsignalstopAll getBinary getHandlesreadLastCapturedOutput interactWithgetPortsetPortsetFilegetFile withVariable getDataDirsilently$fSerializeSandboxTestOptions$fSerializeSandboxSeed$fMonadBaseControlIOSandbox StMSandbox runStMSandboxwaitFor$fDefaultProcessSettings