]> gitweb.michael.orlitzky.com - haeredes.git/blobdiff - test/ShellTests.hs
test: add a shelltestrunner test suite for the man page examples.
[haeredes.git] / test / ShellTests.hs
diff --git a/test/ShellTests.hs b/test/ShellTests.hs
new file mode 100644 (file)
index 0000000..8874fcf
--- /dev/null
@@ -0,0 +1,24 @@
+module Main (main)
+where
+
+import System.Process (
+   CreateProcess( env ),
+   createProcess,
+   shell,
+   waitForProcess )
+import System.Exit ( exitWith )
+
+main :: IO ()
+main = do
+  -- 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