summaryrefslogtreecommitdiffstats
path: root/slobrok/src/tests/multi/stop.sh
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/src/tests/multi/stop.sh
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/src/tests/multi/stop.sh')
-rwxr-xr-xslobrok/src/tests/multi/stop.sh25
1 files changed, 20 insertions, 5 deletions
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