X-Git-Url: http://gitweb.michael.orlitzky.com/?p=hath.git;a=blobdiff_plain;f=test%2FShellTests.hs;h=6a55da0495d2fb7848e4da3730feca3c5e275f0e;hp=1e884d5ef435eb5d7631e76046515a6d19d59724;hb=2744428b39c7f253d6629335b9cb4122e224e177;hpb=02a793ab4325e5d04eb3ae3450aa33d01b4b4d1c diff --git a/test/ShellTests.hs b/test/ShellTests.hs index 1e884d5..6a55da0 100644 --- a/test/ShellTests.hs +++ b/test/ShellTests.hs @@ -1,10 +1,24 @@ module Main where -import System.Process ( system ) +import System.Process ( + CreateProcess( env ), + createProcess, + shell, + waitForProcess ) import System.Exit ( exitWith ) main :: IO () main = do - result <- system "shelltest test/shell/*.test" + -- Get a CreateProcess object corresponding to our shell command. + let createproc = shell "shelltest test/shell/*.test" + + -- But clear its environment before running the command. + let empty_env_createproc = createproc { env = Just [] } + + -- Ignore stdin/stdout/stderr... + (_,_,_,hproc) <- createProcess empty_env_createproc + + -- Now run the ProcessHandle and exit with its result. + result <- waitForProcess hproc exitWith result