summaryrefslogtreecommitdiffstats
path: root/testsuite/pkill.test/pkill.exp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/pkill.test/pkill.exp')
-rw-r--r--testsuite/pkill.test/pkill.exp51
1 files changed, 51 insertions, 0 deletions
diff --git a/testsuite/pkill.test/pkill.exp b/testsuite/pkill.test/pkill.exp
new file mode 100644
index 0000000..a88d882
--- /dev/null
+++ b/testsuite/pkill.test/pkill.exp
@@ -0,0 +1,51 @@
+#
+# Dejagnu tests for pkill - part of procps
+#
+set mypid [pid]
+set not_ppid [ expr { $mypid + 1 } ]
+set pkill "${topdir}src/pkill"
+set uid [ exec id -u ]
+set not_uid [ expr { $uid + 1 } ]
+set gid [ exec id -g ]
+set not_gid [ expr { $gid + 1 } ]
+set ps "${topdir}src/ps/pscommand"
+set tty [ get_tty ]
+
+set test "pkill with no arguments"
+spawn $pkill
+expect_pass "$test" "^\(lt-\)\?pkill: no matching criteria specified\\s*"
+
+make_testproc
+set testproc_len [ string length $testproc_comm ]
+set testproc_trim [ string range $testproc_comm 0 [ expr { $testproc_len - 2 } ] ]
+
+set test "pkill find both test pids"
+spawn $pkill -0 -e $testproc_comm
+expect_pass "$test" "^$testproc_comm killed \\(pid $testproc1_pid\\)\\s+$testproc_comm killed \\(pid $testproc2_pid\\)\\s*$"
+
+set test "pkill signal option order"
+spawn $pkill -e $testproc_comm -0
+expect_pass "$test" "^$testproc_comm killed \\(pid $testproc1_pid\\)\\s+$testproc_comm killed \\(pid $testproc2_pid\\)\\s*$"
+
+set test "pkill with trailing garbage on int signal"
+spawn $pkill -0garbage $testproc_comm
+expect_pass "$test" "invalid option -- '0'"
+
+# Cleanup
+kill_testproc
+
+make_pipeproc
+
+set test "pkill with SIGUSR1"
+spawn $pkill -USR1 -e $testproc_comm
+expect_pipeproc_pass "$test" "SIG SIGUSR1"
+
+set test "pkill with SIGUSR2"
+spawn $pkill -USR2 -e $testproc_comm
+expect_pipeproc_pass "$test" "SIG SIGUSR2"
+
+set test "pkill with queued int"
+spawn $pkill -USR1 -e -q 42 $testproc_comm
+expect_pipeproc_pass "$test" "SIG SIGUSR1 value=42"
+
+kill_pipeproc