From 93b0faa32a155784a74d433e474763ebecebf8d6 Mon Sep 17 00:00:00 2001 From: Arne Juul Date: Thu, 16 Jun 2016 16:17:33 +0200 Subject: more careful checking * wait for ready, not just random sleep time * wait for actual stop, not just random sleep time * return status of actual test --- slobrok/src/tests/multi/multi_test.sh | 5 +++-- slobrok/src/tests/multi/start.sh | 19 +++++++++++++++++++ slobrok/src/tests/multi/stop.sh | 25 ++++++++++++++++++++----- 3 files changed, 42 insertions(+), 7 deletions(-) (limited to 'slobrok') diff --git a/slobrok/src/tests/multi/multi_test.sh b/slobrok/src/tests/multi/multi_test.sh index 8f5805be592..ffc917c94db 100755 --- a/slobrok/src/tests/multi/multi_test.sh +++ b/slobrok/src/tests/multi/multi_test.sh @@ -1,5 +1,6 @@ #/bin/bash +ok=true ./start.sh -sleep 2 -./slobrok_multi_test_app || (./stop.sh; false) +./slobrok_multi_test_app || ok=false ./stop.sh +$ok diff --git a/slobrok/src/tests/multi/start.sh b/slobrok/src/tests/multi/start.sh index 81e0bb93269..d45b1f17e3b 100755 --- a/slobrok/src/tests/multi/start.sh +++ b/slobrok/src/tests/multi/start.sh @@ -19,3 +19,22 @@ echo $! >> pids.txt echo $! >> pids.txt ../../apps/slobrok/slobrok -c file:7.cfg -p 18517 > slobrok6.out 2>&1 & echo $! >> pids.txt + +echo "Started: " `cat pids.txt` + +export VESPA_LOG_LEVEL='all -debug -spam' + +for x in 1 2 3 4 5 6 7 8 9; do + sleep $x + echo "waiting for service location brokers to start, slept $x seconds" + alive=true + for port in 18511 18512 18513 18514 18515 18516 18517; do + ../../apps/sbcmd/sbcmd $port slobrok.callback.listNamesServed || alive=false + done + if $alive; then + echo "all started ok after $x seconds" + exit 0 + fi +done +echo "giving up, this probably won't work" +exit 1 diff --git a/slobrok/src/tests/multi/stop.sh b/slobrok/src/tests/multi/stop.sh index adf351b03e1..0089c0b77d3 100755 --- a/slobrok/src/tests/multi/stop.sh +++ b/slobrok/src/tests/multi/stop.sh @@ -11,11 +11,26 @@ ok=true ../../apps/sbcmd/sbcmd 18516 slobrok.system.stop || ok=false ../../apps/sbcmd/sbcmd 18517 slobrok.system.stop || ok=false -sleep 2 +if $ok; then + echo "Signaled all brokers to stop OK" +fi -for x in `cat pids.txt`; do - kill $x 2>/dev/null && ok=false +for cnt in 1 2 3 4 5 6 7 8 9; do + sleep $cnt + alive=false + for x in `cat pids.txt`; do + kill $x 2>/dev/null && ps -p $x && alive=true + done + if $alive; then + echo "Some processes still alive after $cnt seconds" + else + rm -f pids.txt + $ok + exit + fi done -rm -f pids.txt -$ok +for x in `cat pids.txt`; do + kill -9 $x 2>/dev/null && echo "Force killed pid $x" +done +exit 1 -- cgit v1.2.3