vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

vwait-test.sh (1214B)


      1 #! /bin/bash
      2 
      3 : ${srcdir:=.}
      4 : ${builddir:=.}
      5 : ${XID:=1234}
      6 
      7 test "$(id -u)" -eq 0 || {
      8     echo "Skipping vwait-test; it requires root rights" >&2
      9     exit 0
     10 }
     11 
     12 
     13 ! $builddir/src/vserver-info $XID RUNNING || {
     14     echo "Skipping vwait-test because context '$XID' is already used" >&2
     15     exit 0
     16 }
     17 
     18 tmpdir=$(mktemp -d /tmp/vwaittest.XXXXXX)
     19 trap "rm -rf $tmpdir" EXIT
     20 
     21 : ${VWAIT:=$builddir/src/vwait}
     22 : ${CHCONTEXT:=$builddir/src/chcontext-compat}
     23 
     24 
     25 
     26 ############
     27 $CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 2"
     28 status=$($VWAIT --status-fd 1 -- $XID)
     29 rc=$?
     30 
     31 case $status  in
     32     (FINISHED\ *)	;;
     33     (*)		echo "vwait exited with bad status '$status'/$rc" >&2
     34 		exit 1
     35 esac
     36 
     37 wait
     38 
     39 
     40 ############
     41 $CHCONTEXT  --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
     42 status=$($VWAIT --status-fd 1 --timeout 1 -- $XID)
     43 rc=$?
     44 
     45 case $status  in
     46     (TIMEOUT)	;;
     47     (*)		echo "vwait exited with bad status '$status'/$rc" >&2
     48 		exit 1
     49 esac
     50 
     51 
     52 
     53 ############
     54 $CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 5"
     55 status=$($VWAIT --terminate --status-fd 1 --timeout 1 -- $XID)
     56 rc=$?
     57 
     58 case $status  in
     59     (KILLED)	;;
     60     (*)		echo "vwait exited with bad status '$status'/$rc" >&2
     61 		exit 1
     62 esac