1143880Spjd#!/bin/sh 2143880Spjd# $FreeBSD$ 3143880Spjd 4272682Srodrigcjail_name_to_jid() 5272682Srodrigc{ 6272682Srodrigc local check_name="$1" 7272682Srodrigc ( 8272682Srodrigc line="$(jls -n 2> /dev/null | grep name=$check_name )" 9272682Srodrigc for nv in $line; do 10272682Srodrigc local name="${nv%=*}" 11272682Srodrigc if [ "${name}" = "jid" ]; then 12272682Srodrigc eval $nv 13272682Srodrigc echo $jid 14272682Srodrigc break 15272682Srodrigc fi 16272682Srodrigc done 17272682Srodrigc ) 18272682Srodrigc} 19143880Spjd 20272682Srodrigcbase=pgrep_j_test 21272682Srodrigc 22164558Syarecho "1..3" 23143880Spjd 24143880Spjdname="pgrep -j <jid>" 25143880Spjdif [ `id -u` -eq 0 ]; then 26263351Sjmmv sleep=$(pwd)/sleep.txt 27143880Spjd ln -sf /bin/sleep $sleep 28272682Srodrigc jail -c path=/ name=${base}_1_1 ip4.addr=127.0.0.1 \ 29272682Srodrigc command=daemon -p ${PWD}/${base}_1_1.pid $sleep 5 & 30272682Srodrigc 31272682Srodrigc jail -c path=/ name=${base}_1_2 ip4.addr=127.0.0.1 \ 32272682Srodrigc command=daemon -p ${PWD}/${base}_1_2.pid $sleep 5 & 33272682Srodrigc 34272682Srodrigc jid1=$(jail_name_to_jid ${base}_1_1) 35272682Srodrigc jid2=$(jail_name_to_jid ${base}_1_2) 36272682Srodrigc jid="${jid1},${jid2}" 37272682Srodrigc pid1="$(pgrep -f -x -j $jid "$sleep 5" | sort)" 38272682Srodrigc pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_1_1.pid)" \ 39272682Srodrigc $(cat ${PWD}/${base}_1_2.pid) | sort) 40272682Srodrigc if [ "$pid1" = "$pid2" ]; then 41143880Spjd echo "ok 1 - $name" 42143880Spjd else 43143880Spjd echo "not ok 1 - $name" 44143880Spjd fi 45272682Srodrigc [ -f ${PWD}/${base}_1_1.pid ] && kill $(cat ${PWD}/${base}_1_1.pid) 46272682Srodrigc [ -f ${PWD}/${base}_1_2.pid ] && kill $(cat ${PWD}/${base}_1_2.pid) 47143880Spjd rm -f $sleep 48143880Spjdelse 49143880Spjd echo "ok 1 - $name # skip Test needs uid 0." 50143880Spjdfi 51143880Spjd 52164558Syarname="pgrep -j any" 53143880Spjdif [ `id -u` -eq 0 ]; then 54263351Sjmmv sleep=$(pwd)/sleep.txt 55143880Spjd ln -sf /bin/sleep $sleep 56272682Srodrigc jail -c path=/ name=${base}_2_1 ip4.addr=127.0.0.1 \ 57272682Srodrigc command=daemon -p ${PWD}/${base}_2_1.pid $sleep 5 & 58272682Srodrigc 59272682Srodrigc jail -c path=/ name=${base}_2_2 ip4.addr=127.0.0.1 \ 60272682Srodrigc command=daemon -p ${PWD}/${base}_2_2.pid $sleep 5 & 61272682Srodrigc 62272682Srodrigc sleep 2 63272682Srodrigc pid1="$(pgrep -f -x -j any "$sleep 5" | sort)" 64272682Srodrigc pid2=$(printf "%s\n%s" "$(cat ${PWD}/${base}_2_1.pid)" \ 65272682Srodrigc $(cat ${PWD}/${base}_2_2.pid) | sort) 66272682Srodrigc if [ "$pid1" = "$pid2" ]; then 67143880Spjd echo "ok 2 - $name" 68143880Spjd else 69143880Spjd echo "not ok 2 - $name" 70143880Spjd fi 71272682Srodrigc [ -f ${PWD}/${base}_2_1.pid ] && kill $(cat ${PWD}/${base}_2_1.pid) 72272682Srodrigc [ -f ${PWD}/${base}_2_2.pid ] && kill $(cat ${PWD}/${base}_2_2.pid) 73143880Spjd rm -f $sleep 74143880Spjdelse 75143880Spjd echo "ok 2 - $name # skip Test needs uid 0." 76143880Spjdfi 77164558Syar 78164558Syarname="pgrep -j none" 79164558Syarif [ `id -u` -eq 0 ]; then 80263351Sjmmv sleep=$(pwd)/sleep.txt 81164558Syar ln -sf /bin/sleep $sleep 82272682Srodrigc daemon -p ${PWD}/${base}_3_1.pid $sleep 5 & 83272682Srodrigc jail -c path=/ name=${base}_3_2 ip4.addr=127.0.0.1 \ 84272682Srodrigc command=daemon -p ${PWD}/${base}_3_2.pid $sleep 5 & 85272682Srodrigc sleep 2 86272682Srodrigc pid="$(pgrep -f -x -j none "$sleep 5")" 87272682Srodrigc if [ "$pid" = "$(cat ${PWD}/${base}_3_1.pid)" ]; then 88164558Syar echo "ok 3 - $name" 89164558Syar else 90164558Syar echo "not ok 3 - $name" 91164558Syar fi 92164558Syar rm -f $sleep 93272682Srodrigc [ -f ${PWD}/${base}_3_1.pid ] && kill $(cat $PWD/${base}_3_1.pid) 94272682Srodrigc [ -f ${PWD}/${base}_3_2.pid ] && kill $(cat $PWD/${base}_3_2.pid) 95164558Syarelse 96164558Syar echo "ok 3 - $name # skip Test needs uid 0." 97164558Syarfi 98