[commit: unix] master: Test cases for the new process group API. (6f88d3d)

Simon Marlow marlowsd at gmail.com
Mon May 23 12:13:31 CEST 2011


Repository : ssh://darcs.haskell.org//srv/darcs/packages/unix

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/6f88d3dd6e107c996b701b7f4fccaef171440722

>---------------------------------------------------------------

commit 6f88d3dd6e107c996b701b7f4fccaef171440722
Author: Favonia <favonia at gmail.com>
Date:   Wed May 11 22:35:53 2011 -0400

    Test cases for the new process group API.

>---------------------------------------------------------------

 tests/processGroup001.hs     |    7 +++++++
 tests/processGroup001.stdout |    1 +
 tests/processGroup002.hs     |   21 +++++++++++++++++++++
 tests/processGroup002.stdout |    3 +++
 4 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/tests/processGroup001.hs b/tests/processGroup001.hs
new file mode 100644
index 0000000..cd9f70b
--- /dev/null
+++ b/tests/processGroup001.hs
@@ -0,0 +1,7 @@
+import System.Posix.Process
+
+main = do
+	pgid <- getProcessGroupID
+	pgid' <- getProcessGroupIDOf =<< getProcessID
+	putStr "Testing getProcessGroupID == getProcessGroupIDOf =<< getProcessID: "
+	print $ pgid == pgid'
diff --git a/tests/processGroup001.stdout b/tests/processGroup001.stdout
new file mode 100644
index 0000000..b9be50f
--- /dev/null
+++ b/tests/processGroup001.stdout
@@ -0,0 +1 @@
+Testing getProcessGroupID == getProcessGroupIDOf =<< getProcessID: True
diff --git a/tests/processGroup002.hs b/tests/processGroup002.hs
new file mode 100644
index 0000000..c93a416
--- /dev/null
+++ b/tests/processGroup002.hs
@@ -0,0 +1,21 @@
+import System.Posix.Process
+
+main = do
+	pid <- getProcessID
+	ppid <- getParentProcessID
+	ppgid <- getProcessGroupIDOf ppid
+	-- join the parent process
+	putStr "Testing joinProcessGroup: "
+	joinProcessGroup ppgid
+	pgid1 <- getProcessGroupID
+	print $ ppgid == pgid1
+	-- be a leader
+	putStr "Testing createProcessGroupFor: "
+	createProcessGroupFor pid
+	pgid2 <- getProcessGroupID
+	print $ pid == fromIntegral pgid2
+	-- and join the parent again
+	putStr "Testing setProcessGroupIDOf: "
+	setProcessGroupIDOf pid ppgid
+	pgid3 <- getProcessGroupID
+	print $ ppgid == pgid3
diff --git a/tests/processGroup002.stdout b/tests/processGroup002.stdout
new file mode 100644
index 0000000..b9d2409
--- /dev/null
+++ b/tests/processGroup002.stdout
@@ -0,0 +1,3 @@
+Testing joinProcessGroup: True
+Testing createProcessGroupFor: True
+Testing setProcessGroupIDOf: True





More information about the Cvs-libraries mailing list