diff options
author | Jason Cox <me@jasoncarloscox.com> | 2023-01-25 20:34:21 +1100 |
---|---|---|
committer | Craig Small <csmall@dropbear.xyz> | 2023-01-25 20:34:21 +1100 |
commit | 848be2b1e23d4db4420dcfc15d3166073e813f4e (patch) | |
tree | 7372d710c50ea1f434d5f08bb2bf5f7602cb9c39 /testsuite | |
parent | 356730edbb96c73c6145103ab86445f96602ba75 (diff) | |
download | procps-ng-848be2b1e23d4db4420dcfc15d3166073e813f4e.tar.gz |
pgrep: make --terminal respect other criteria
In some cases the --terminal option to pgrep will cause all processes
matching the terminal to be output, even if other criteria would exclude them.
Specifically, I noticed that it overrides the --runstates option.
Signed-off-by: Craig Small <csmall@dropbear.xyz>
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/pgrep.test/pgrep.exp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/testsuite/pgrep.test/pgrep.exp b/testsuite/pgrep.test/pgrep.exp index 1110e70..0c4836f 100644 --- a/testsuite/pgrep.test/pgrep.exp +++ b/testsuite/pgrep.test/pgrep.exp @@ -5,9 +5,9 @@ set mypid [pid] set not_ppid [ expr { $mypid + 1 } ] set pgrep "${topdir}src/pgrep" set uid [ exec id -u ] -set not_uid [ expr { $uid + 1 } ] +set not_uid [ expr { $uid + 1 } ] set gid [ exec id -g ] -set not_gid [ expr { $gid + 1 } ] +set not_gid [ expr { $gid + 1 } ] set ps "${topdir}src/ps/pscommand" set tty [ get_tty ] @@ -79,12 +79,16 @@ set test "pgrep doesn't match with bogus sid" spawn $pgrep -s $not_testproc1_sid $testproc_comm expect_blank "$test" -set test "pgrep matches on tty" +set test1 "pgrep matches on tty" +set test2 "pgrep doesn't match on tty and wrong runstate" if { $tty == "" } { - untested "$test" + untested "$test1" + untested "$test2" } else { spawn $pgrep -t $tty $testproc_comm - expect_pass "$test" "^$testproc1_pid\\s+$testproc2_pid\\s*$" + expect_pass "$test1" "^$testproc1_pid\\s+$testproc2_pid\\s*$" + spawn $pgrep -t $tty -r D $testproc_comm + expect_blank "$test2" } set test "pgrep doesn't match with bogus tty" |