git: a24b7455e869 - stable/13 - bin/pkill: Fix {pgrep, pkill}-j_test.sh

Alex Richardson arichardson at FreeBSD.org
Wed Mar 17 10:27:56 UTC 2021


The branch stable/13 has been updated by arichardson:

URL: https://cgit.FreeBSD.org/src/commit/?id=a24b7455e86935232799f4adb4ec4c5ce115101c

commit a24b7455e86935232799f4adb4ec4c5ce115101c
Author:     Alex Richardson <arichardson at FreeBSD.org>
AuthorDate: 2021-02-13 13:53:50 +0000
Commit:     Alex Richardson <arichardson at FreeBSD.org>
CommitDate: 2021-03-17 09:57:15 +0000

    bin/pkill: Fix {pgrep,pkill}-j_test.sh
    
    The POSIX sh case statement does not allow for pattern matching using the
    regex + qualifier so this case statement never matches. Instead just check
    for a string starting with a digit followed by any character.
    
    While touching these files also fix various shellcheck warnings.
    
    `kyua -v parallelism=4 test` failed before, succeeds now.
    
    Reviewed By:    imp
    Differential Revision: https://reviews.freebsd.org/D28480
    
    (cherry picked from commit 5ff2e55e0071dabbf18cdbe13a1230822d1270d4)
---
 bin/pkill/tests/pgrep-j_test.sh | 34 +++++++++++++++++-----------------
 bin/pkill/tests/pkill-j_test.sh | 37 ++++++++++++++++++++-----------------
 2 files changed, 37 insertions(+), 34 deletions(-)

diff --git a/bin/pkill/tests/pgrep-j_test.sh b/bin/pkill/tests/pgrep-j_test.sh
index 0e54fd1106a7..5f44109d41b3 100644
--- a/bin/pkill/tests/pgrep-j_test.sh
+++ b/bin/pkill/tests/pgrep-j_test.sh
@@ -9,7 +9,7 @@ jail_name_to_jid()
 
 base=pgrep_j_test
 
-if [ `id -u` -ne 0 ]; then
+if [ "$(id -u)" -ne 0 ]; then
 	echo "1..0 # skip Test needs uid 0."
 	exit 0
 fi
@@ -28,12 +28,12 @@ jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
     command=daemon -p ${PWD}/${base}_1_2.pid $sleep $sleep_amount &
 sleep 0.5
 
-for i in `seq 1 10`; do
+for i in $(seq 1 10); do
 	jid1=$(jail_name_to_jid ${base}_1_1)
 	jid2=$(jail_name_to_jid ${base}_1_2)
 	jid="${jid1},${jid2}"
 	case "$jid" in
-	[0-9]+,[0-9]+)
+	[0-9]*,[0-9]*)
 		break
 		;;
 	esac
@@ -43,14 +43,14 @@ sleep 0.5
 
 pid1="$(pgrep -f -x -j "$jid" "$sleep $sleep_amount" | sort)"
 pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \
-    $(cat ${PWD}/${base}_1_2.pid) | sort)
+    "$(cat ${PWD}/${base}_1_2.pid)" | sort)
 if [ "$pid1" = "$pid2" ]; then
 	echo "ok 1 - $name"
 else
-	echo "not ok 1 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
+	echo "not ok 1 - $name # pgrep output: '$pid1', pidfile output: '$pid2'"
 fi
-[ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid)
-[ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid)
+[ -f ${PWD}/${base}_1_1.pid ] && kill "$(cat ${PWD}/${base}_1_1.pid)"
+[ -f ${PWD}/${base}_1_2.pid ] && kill "$(cat ${PWD}/${base}_1_2.pid)"
 wait
 
 name="pgrep -j any"
@@ -64,14 +64,14 @@ jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
 sleep 2
 pid1="$(pgrep -f -x -j any "$sleep $sleep_amount" | sort)"
 pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \
-    $(cat ${PWD}/${base}_2_2.pid) | sort)
+    "$(cat ${PWD}/${base}_2_2.pid)" | sort)
 if [ "$pid1" = "$pid2" ]; then
 	echo "ok 2 - $name"
 else
-	echo "not ok 2 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
+	echo "not ok 2 - $name # pgrep output: '$pid1', pidfile output: '$pid2'"
 fi
-[ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid)
-[ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid)
+[ -f ${PWD}/${base}_2_1.pid ] && kill "$(cat ${PWD}/${base}_2_1.pid)"
+[ -f ${PWD}/${base}_2_2.pid ] && kill "$(cat ${PWD}/${base}_2_2.pid)"
 wait
 
 name="pgrep -j none"
@@ -84,10 +84,10 @@ pid="$(pgrep -f -x -j none "$sleep $sleep_amount")"
 if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then
 	echo "ok 3 - $name"
 else
-	echo "not ok 3 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
+	echo "not ok 3 - $name # pgrep output: '$pid1', pidfile output: '$pid2'"
 fi
-[ -f ${PWD}/${base}_3_1.pid ] && kill $(cat $PWD/${base}_3_1.pid) 
-[ -f ${PWD}/${base}_3_2.pid ] && kill $(cat $PWD/${base}_3_2.pid) 
+[ -f ${PWD}/${base}_3_1.pid ] && kill "$(cat $PWD/${base}_3_1.pid)"
+[ -f ${PWD}/${base}_3_2.pid ] && kill "$(cat $PWD/${base}_3_2.pid)"
 wait
 
 # test 4 is like test 1 except with jname instead of jid.
@@ -104,14 +104,14 @@ sleep 0.5
 jname="${base}_4_1,${base}_4_2"
 pid1="$(pgrep -f -x -j "$jname" "$sleep $sleep_amount" | sort)"
 pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_4_1.pid)" \
-    $(cat ${PWD}/${base}_4_2.pid) | sort)
+    "$(cat ${PWD}/${base}_4_2.pid)" | sort)
 if [ "$pid1" = "$pid2" ]; then
 	echo "ok 4 - $name"
 else
 	echo "not ok 4 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $pid2)'"
 fi
-[ -f ${PWD}/${base}_4_1.pid ] && kill $(cat ${PWD}/${base}_4_1.pid)
-[ -f ${PWD}/${base}_4_2.pid ] && kill $(cat ${PWD}/${base}_4_2.pid)
+[ -f ${PWD}/${base}_4_1.pid ] && kill "$(cat ${PWD}/${base}_4_1.pid)"
+[ -f ${PWD}/${base}_4_2.pid ] && kill "$(cat ${PWD}/${base}_4_2.pid)"
 wait
 
 rm -f $sleep
diff --git a/bin/pkill/tests/pkill-j_test.sh b/bin/pkill/tests/pkill-j_test.sh
index 442d9d23885e..1710ca04f653 100644
--- a/bin/pkill/tests/pkill-j_test.sh
+++ b/bin/pkill/tests/pkill-j_test.sh
@@ -9,7 +9,7 @@ jail_name_to_jid()
 
 base=pkill_j_test
 
-if [ `id -u` -ne 0 ]; then
+if [ "$(id -u)" -ne 0 ]; then
 	echo "1..0 # skip Test needs uid 0."
 	exit 0
 fi
@@ -29,28 +29,31 @@ jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
 
 $sleep $sleep_amount &
 
-for i in `seq 1 10`; do
+for i in $(seq 1 10); do
 	jid1=$(jail_name_to_jid ${base}_1_1)
 	jid2=$(jail_name_to_jid ${base}_1_2)
 	jid="${jid1},${jid2}"
 	case "$jid" in
-	[0-9]+,[0-9]+)
+	[0-9]*,[0-9]*)
 		break
 		;;
+	*)
+		echo "Did not match: '${jid}'" >&2
+		;;
 	esac
 	sleep 0.1
 done
 sleep 0.5
 
 if pkill -f -j "$jid" $sleep && sleep 0.5 &&
-    ! -f ${PWD}/${base}_1_1.pid &&
-    ! -f ${PWD}/${base}_1_2.pid ; then
+    ! test -f "${PWD}/${base}_1_1.pid" &&
+    ! test -f "${PWD}/${base}_1_2.pid" ; then
 	echo "ok 1 - $name"
 else
 	echo "not ok 1 - $name"
 fi 2>/dev/null
-[ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid)
-[ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid)
+[ -f ${PWD}/${base}_1_1.pid ] && kill "$(cat ${PWD}/${base}_1_1.pid)"
+[ -f ${PWD}/${base}_1_2.pid ] && kill "$(cat ${PWD}/${base}_1_2.pid)"
 wait
 
 name="pkill -j any"
@@ -65,14 +68,14 @@ $sleep $sleep_amount &
 chpid3=$!
 sleep 0.5
 if pkill -f -j any $sleep && sleep 0.5 &&
-    [ ! -f ${PWD}/${base}_2_1.pid -a
-      ! -f ${PWD}/${base}_2_2.pid ] && kill $chpid3; then
+    ! test -f ${PWD}/${base}_2_1.pid &&
+    ! test -f ${PWD}/${base}_2_2.pid && kill $chpid3; then
 	echo "ok 2 - $name"
 else
 	echo "not ok 2 - $name"
 fi 2>/dev/null
-[ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid)
-[ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid)
+[ -f ${PWD}/${base}_2_1.pid ] && kill "$(cat ${PWD}/${base}_2_1.pid)"
+[ -f ${PWD}/${base}_2_2.pid ] && kill "$(cat ${PWD}/${base}_2_2.pid)"
 wait
 
 name="pkill -j none"
@@ -88,8 +91,8 @@ else
 	ls ${PWD}/*.pid
 	echo "not ok 3 - $name"
 fi 2>/dev/null
-[ -f ${PWD}/${base}_3_1.pid ] && kill $(cat ${base}_3_1.pid)
-[ -f ${PWD}/${base}_3_2.pid ] && kill $(cat ${base}_3_2.pid)
+[ -f ${PWD}/${base}_3_1.pid ] && kill "$(cat ${base}_3_1.pid)"
+[ -f ${PWD}/${base}_3_2.pid ] && kill "$(cat ${base}_3_2.pid)"
 wait
 
 # test 4 is like test 1 except with jname instead of jid.
@@ -107,14 +110,14 @@ sleep 0.5
 
 jname="${base}_4_1,${base}_4_2"
 if pkill -f -j "$jname" $sleep && sleep 0.5 &&
-    ! -f ${PWD}/${base}_4_1.pid &&
-    ! -f ${PWD}/${base}_4_2.pid ; then
+    ! test -f ${PWD}/${base}_4_1.pid &&
+    ! test -f ${PWD}/${base}_4_2.pid ; then
 	echo "ok 4 - $name"
 else
 	echo "not ok 4 - $name"
 fi 2>/dev/null
-[ -f ${PWD}/${base}_4_1.pid ] && kill $(cat ${PWD}/${base}_4_1.pid)
-[ -f ${PWD}/${base}_4_2.pid ] && kill $(cat ${PWD}/${base}_4_2.pid)
+[ -f ${PWD}/${base}_4_1.pid ] && kill "$(cat ${PWD}/${base}_4_1.pid)"
+[ -f ${PWD}/${base}_4_2.pid ] && kill "$(cat ${PWD}/${base}_4_2.pid)"
 wait
 
 rm -f $sleep


More information about the dev-commits-src-all mailing list