aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/processGroup001.hs7
-rw-r--r--tests/processGroup001.stdout1
-rw-r--r--tests/processGroup002.hs21
-rw-r--r--tests/processGroup002.stdout3
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