summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2016-06-16 16:17:33 +0200
committerArne Juul <arnej@yahoo-inc.com>2016-06-16 16:17:38 +0200
commit93b0faa32a155784a74d433e474763ebecebf8d6 (patch)
tree317657712bde3dc1fe4bd9732c0c57cbcaa360f3 /slobrok
parent91491950aa3fe74fb469801c6701269a6a950dd1 (diff)
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
Diffstat (limited to 'slobrok')
-rwxr-xr-xslobrok/src/tests/multi/multi_test.sh5
-rwxr-xr-xslobrok/src/tests/multi/start.sh19
-rwxr-xr-xslobrok/src/tests/multi/stop.sh25
3 files changed, 42 insertions, 7 deletions
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