summaryrefslogtreecommitdiffstats
path: root/slobrok/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-06-16 16:28:34 +0200
committerGitHub <noreply@github.com>2016-06-16 16:28:34 +0200
commit43858f39fd0ec5281da15a3ae658b90312b93c54 (patch)
tree326d4342bcaabe163c23d59ce4dcf7c1dca5e09f /slobrok/src
parent15c0c14be67726e548e1a774b19603c55b494aae (diff)
parent93b0faa32a155784a74d433e474763ebecebf8d6 (diff)
Merge pull request #30 from yahoo/arnej/avoid-spurious-slobrok-error
more careful checking
Diffstat (limited to 'slobrok/src')
-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