summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2020-01-26 11:03:45 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2020-01-26 11:03:45 +0000
commitdee496fc37873c18f33eaf7d12ee0b085179cadd (patch)
tree7ff12b0f290b830f8606a0eab2ad36309a704574 /bin
parent2362bc2cf533639c55165e3d5b870109ec69976f (diff)
downloadsrc-test-dee496fc37873c18f33eaf7d12ee0b085179cadd.tar.gz
src-test-dee496fc37873c18f33eaf7d12ee0b085179cadd.zip
Implement tests for the newly added -o flag.
Sponsored by: Fudo Security
Notes
Notes: svn path=/head/; revision=357142
Diffstat (limited to 'bin')
-rw-r--r--bin/pwait/tests/pwait_test.sh80
1 files changed, 80 insertions, 0 deletions
diff --git a/bin/pwait/tests/pwait_test.sh b/bin/pwait/tests/pwait_test.sh
index 0e22c94114ba5..07ed21706fd56 100644
--- a/bin/pwait/tests/pwait_test.sh
+++ b/bin/pwait/tests/pwait_test.sh
@@ -232,6 +232,85 @@ timeout_many_cleanup()
wait $p1 $p5 $p10 >/dev/null 2>&1
}
+atf_test_case or_flag
+or_flag_head()
+{
+ atf_set "descr" "Test OR flag"
+}
+
+or_flag_body()
+{
+ sleep 2 &
+ p2=$!
+
+ sleep 4 &
+ p4=$!
+
+ sleep 6 &
+ p6=$!
+
+ atf_check \
+ -o inline:"$p2: exited with status 0.\n" \
+ -e empty \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o -v $p2 $p4 $p6
+
+ atf_check \
+ -o empty \
+ -e inline:"pwait: $p2: No such process\n" \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o $p2 $p4 $p6
+
+ atf_check \
+ -o empty \
+ -e empty \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o $p4 $p6
+
+ atf_check \
+ -o empty \
+ -e inline:"pwait: $p4: No such process\n" \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o $p4 $p6
+
+ atf_check \
+ -o inline:"$p6: exited with status 0.\n" \
+ -e empty \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o -v $p6
+
+ atf_check \
+ -o empty \
+ -e inline:"pwait: $p6: No such process\n" \
+ -s exit:0 \
+ timeout --preserve-status 15 pwait -o $p6
+
+ atf_check \
+ -o empty \
+ -e inline:"kill: $p2: No such process\n" \
+ -s exit:1 \
+ kill -0 $p2
+
+ atf_check \
+ -o empty \
+ -e inline:"kill: $p4: No such process\n" \
+ -s exit:1 \
+ kill -0 $p4
+
+ atf_check \
+ -o empty \
+ -e inline:"kill: $p6: No such process\n" \
+ -s exit:1 \
+ kill -0 $p6
+
+}
+
+or_flag_cleanup()
+{
+ kill $p2 $p4 $p6 >/dev/null 2>&1
+ wait $p2 $p4 $p6 >/dev/null 2>&1
+}
+
atf_init_test_cases()
{
atf_add_test_case basic
@@ -239,4 +318,5 @@ atf_init_test_cases()
atf_add_test_case timeout_trigger_timeout
atf_add_test_case timeout_no_timeout
atf_add_test_case timeout_many
+ atf_add_test_case or_flag
}