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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to