From 1fb3855a30d5361837f360d1a547499236672bc8 Mon Sep 17 00:00:00 2001 From: Enrico Scholz Date: Sat, 29 Oct 2005 16:52:30 +0000 Subject: [PATCH] added 'vwait-test.sh' git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2221 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- util-vserver/src/testsuite/Makefile-files | 3 +- util-vserver/src/testsuite/vwait-test.sh | 62 +++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100755 util-vserver/src/testsuite/vwait-test.sh diff --git a/util-vserver/src/testsuite/Makefile-files b/util-vserver/src/testsuite/Makefile-files index 973809a..3edd389 100644 --- a/util-vserver/src/testsuite/Makefile-files +++ b/util-vserver/src/testsuite/Makefile-files @@ -51,7 +51,8 @@ TESTS += $(src_testsuite_check_active_PRGS) \ EXTRA_DIST += $(src_testsuite_check_src_SCRPTS) \ src/testsuite/vunify-test.sh \ - src/testsuite/hashcalc.sh + src/testsuite/hashcalc.sh \ + src/testsuite/vwait-test.sh src_testsuite_rpm_fake_test_SOURCES = src/testsuite/rpm-fake-test.c diff --git a/util-vserver/src/testsuite/vwait-test.sh b/util-vserver/src/testsuite/vwait-test.sh new file mode 100755 index 0000000..3b8d041 --- /dev/null +++ b/util-vserver/src/testsuite/vwait-test.sh @@ -0,0 +1,62 @@ +#! /bin/bash + +: ${srcdir:=.} +: ${builddir:=.} +: ${XID:=1234} + +test "$(id -u)" -eq 0 || { + echo "Skipping vwait-test; it requires root rights" >&2 + exit 0 +} + + +! $builddir/src/vserver-info $XID RUNNING || { + echo "Skipping vwait-test because context '$XID' is already used" >&2 + exit 0 +} + +tmpdir=$(mktemp -d /tmp/vwaittest.XXXXXX) +trap "rm -rf $tmpdir" EXIT + +: ${VWAIT:=$builddir/src/vwait} +: ${CHCONTEXT:=$builddir/src/chcontext-compat} + + + +############ +$CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 2" +status=$($VWAIT --status-fd 1 -- $XID) +rc=$? + +case $status in + (FINISHED\ *) ;; + (*) echo "vwait exited with bad status '$status'/$rc" >&2 + exit 1 +esac + +wait + + +############ +$CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 5" +status=$($VWAIT --status-fd 1 --timeout 1 -- $XID) +rc=$? + +case $status in + (TIMEOUT) ;; + (*) echo "vwait exited with bad status '$status'/$rc" >&2 + exit 1 +esac + + + +############ +$CHCONTEXT --disconnect --silent --xid $XID /bin/bash -c "sleep 5" +status=$($VWAIT --terminate --status-fd 1 --timeout 1 -- $XID) +rc=$? + +case $status in + (KILLED) ;; + (*) echo "vwait exited with bad status '$status'/$rc" >&2 + exit 1 +esac -- 1.8.1.5