Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 May 2015 09:48:59 +0000 (UTC)
From:      Craig Rodrigues <rodrigc@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r283312 - stable/10/bin/pkill/tests
Message-ID:  <201505230949.t4N9n00p048129@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rodrigc
Date: Sat May 23 09:48:59 2015
New Revision: 283312
URL: https://svnweb.freebsd.org/changeset/base/283312

Log:
  Merge: 278618 278633 278636 278653 278742 278776 279121
  
  Multiple fixes for pgrep and pkill tests.
  
  PR: 19109

Modified:
  stable/10/bin/pkill/tests/pgrep-j_test.sh
  stable/10/bin/pkill/tests/pkill-j_test.sh
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/bin/pkill/tests/pgrep-j_test.sh
==============================================================================
--- stable/10/bin/pkill/tests/pgrep-j_test.sh	Sat May 23 09:16:35 2015	(r283311)
+++ stable/10/bin/pkill/tests/pgrep-j_test.sh	Sat May 23 09:48:59 2015	(r283312)
@@ -4,94 +4,88 @@
 jail_name_to_jid()
 {
 	local check_name="$1"
-	(
-		line="$(jls -n 2> /dev/null | grep  name=$check_name  )"
-		for nv in $line; do
-			local name="${nv%=*}"
-			if [ "${name}" = "jid" ]; then
-				eval $nv
-				echo $jid
-				break
-			fi
-		done
-	)
+	jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
 }
 
 base=pgrep_j_test
 
+if [ `id -u` -ne 0 ]; then
+	echo "1..0 # skip Test needs uid 0."
+	exit 0
+fi
+
 echo "1..3"
 
+sleep=$(pwd)/sleep.txt
+ln -sf /bin/sleep $sleep
+
 name="pgrep -j <jid>"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-	jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
-	    command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 &
+sleep_amount=5
+jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_1_1.pid $sleep $sleep_amount &
 
-	jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
-	    command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 &
+jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_1_2.pid $sleep $sleep_amount &
 
+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}"
-	pid1="$(pgrep -f -x -j $jid "$sleep 5" | sort)"
-	pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \
-	    $(cat ${PWD}/${base}_1_2.pid) | sort)
-	if [ "$pid1" = "$pid2" ]; then
-		echo "ok 1 - $name"
-	else
-		echo "not ok 1 - $name"
-	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)
-	rm -f $sleep
+	case "$jid" in
+	[0-9]+,[0-9]+)
+		break
+		;;
+	esac
+	sleep 0.1
+done
+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)
+if [ "$pid1" = "$pid2" ]; then
+	echo "ok 1 - $name"
 else
-	echo "ok 1 - $name # skip Test needs uid 0."
+	echo "not ok 1 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $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)
+wait
 
 name="pgrep -j any"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-	jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
-	    command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 &
-
-	jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
-	    command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 &
-
-	sleep 2
-	pid1="$(pgrep -f -x -j any "$sleep 5" | sort)"
-	pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \
-	    $(cat ${PWD}/${base}_2_2.pid) | sort)
-	if [ "$pid1" = "$pid2" ]; then
-		echo "ok 2 - $name"
-	else
-		echo "not ok 2 - $name"
-	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)
-	rm -f $sleep
+sleep_amount=6
+jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_2_1.pid $sleep $sleep_amount &
+
+jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_2_2.pid $sleep $sleep_amount &
+
+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)
+if [ "$pid1" = "$pid2" ]; then
+	echo "ok 2 - $name"
 else
-	echo "ok 2 - $name # skip Test needs uid 0."
+	echo "not ok 2 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $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)
+wait
 
 name="pgrep -j none"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-	daemon -p ${PWD}/${base}_3_1.pid $sleep 5 &
-	jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
-	    command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 &
-	sleep 2
-	pid="$(pgrep -f -x -j none "$sleep 5")"
-	if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then
-		echo "ok 3 - $name"
-	else
-		echo "not ok 3 - $name"
-	fi
-	rm -f $sleep
-	[ -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) 
+sleep_amount=7
+daemon -p ${PWD}/${base}_3_1.pid $sleep $sleep_amount &
+jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_3_2.pid $sleep $sleep_amount &
+sleep 2
+pid="$(pgrep -f -x -j none "$sleep $sleep_amount")"
+if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then
+	echo "ok 3 - $name"
 else
-	echo "ok 3 - $name # skip Test needs uid 0."
+	echo "not ok 3 - $name # pgrep output: '$(echo $pid1)', pidfile output: '$(echo $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) 
+
+rm -f $sleep

Modified: stable/10/bin/pkill/tests/pkill-j_test.sh
==============================================================================
--- stable/10/bin/pkill/tests/pkill-j_test.sh	Sat May 23 09:16:35 2015	(r283311)
+++ stable/10/bin/pkill/tests/pkill-j_test.sh	Sat May 23 09:48:59 2015	(r283312)
@@ -4,99 +4,91 @@
 jail_name_to_jid()
 {
 	local check_name="$1"
-	(
-		line="$(jls -n 2> /dev/null | grep  name=$check_name  )"
-		for nv in $line; do
-			local name="${nv%=*}"
-			if [ "${name}" = "jid" ]; then
-				eval $nv
-				echo $jid
-				break
-			fi
-		done
-	)
+	jls -j "$check_name" -s | tr ' ' '\n' | grep jid= | sed -e 's/.*=//g'
 }
 
 base=pkill_j_test
 
+if [ `id -u` -ne 0 ]; then
+	echo "1..0 # skip Test needs uid 0."
+	exit 0
+fi
+
 echo "1..3"
 
+sleep=$(pwd)/sleep.txt
+ln -sf /bin/sleep $sleep
+
 name="pkill -j <jid>"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-        jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
-            command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 &
+sleep_amount=5
+jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_1_1.pid $sleep $sleep_amount &
+
+jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_1_2.pid $sleep $sleep_amount &
 
-        jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \
-            command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 &
+$sleep $sleep_amount &
 
-	$sleep 5 &
-	sleep 0.5
+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}"
-	if pkill -f -j "$jid" $sleep && sleep 0.5 &&
-	    ! -f ${PWD}/${base}_1_1.pid &&
-	    ! -f ${PWD}/${base}_1_2.pid ; then
-		echo "ok 1 - $name"
-	else
-		echo "not ok 1 - $name"
-	fi 2>/dev/null
-	rm -f $sleep
-	[ -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
+	case "$jid" in
+	[0-9]+,[0-9]+)
+		break
+		;;
+	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
+	echo "ok 1 - $name"
 else
-	echo "ok 1 - $name # skip Test needs uid 0."
-fi
+	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)
+wait
 
 name="pkill -j any"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-        jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
-            command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 &
-
-        jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
-            command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 &
-
-	$sleep 5 &
-	sleep 0.5
-	chpid3=$!
-	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
-		echo "ok 2 - $name"
-	else
-		echo "not ok 2 - $name"
-	fi 2>/dev/null
-	rm -f $sleep
-	[ -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
+sleep_amount=6
+jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_2_1.pid $sleep $sleep_amount &
+
+jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_2_2.pid $sleep $sleep_amount &
+
+$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
+	echo "ok 2 - $name"
 else
-	echo "ok 2 - $name # skip Test needs uid 0."
-fi
+	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)
+wait
 
 name="pkill -j none"
-if [ `id -u` -eq 0 ]; then
-	sleep=$(pwd)/sleep.txt
-	ln -sf /bin/sleep $sleep
-	daemon -p ${PWD}/${base}_3_1.pid $sleep 5
-	jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
-            command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 &
-	sleep 1
-	if pkill -f -j none "$sleep 5" && sleep 1 &&
-	    [ ! -f ${PWD}/${base}_3_1.pid -a -f ${PWD}/${base}_3_2.pid ] ; then
-		echo "ok 3 - $name"
-	else
-		ls ${PWD}/*.pid
-		echo "not ok 3 - $name"
-	fi 2>/dev/null
-	rm -f $sleep
-	[ -f ${PWD}/${base}_3_1.pid ] && kill $(cat ${base}_3_1.pid)
-	[ -f ${PWD}/${base}_3_2.pid ] && kill $(cat ${base}_3_2.pid)
+sleep_amount=7
+daemon -p ${PWD}/${base}_3_1.pid $sleep $sleep_amount
+jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \
+    command=daemon -p ${PWD}/${base}_3_2.pid $sleep $sleep_amount &
+sleep 1
+if pkill -f -j none "$sleep $sleep_amount" && sleep 1 &&
+    [ ! -f ${PWD}/${base}_3_1.pid -a -f ${PWD}/${base}_3_2.pid ] ; then
+	echo "ok 3 - $name"
 else
-	echo "ok 3 - $name # skip Test needs uid 0."
-fi
+	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)
+
+rm -f $sleep



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505230949.t4N9n00p048129>