From 38adeb9160ef6958ee4cfcd028783354a96975e3 Mon Sep 17 00:00:00 2001 From: Andy2 Date: Fri, 30 Sep 2011 18:22:25 -0700 Subject: [PATCH] improve script to be more patient but exit after there stop being messages -- which usually means the games finished. With this and previous changes the background stuff works most of the time. Now to debug why it's not all of the time. --- xwords4/linux/scripts/test_backsend.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/xwords4/linux/scripts/test_backsend.sh b/xwords4/linux/scripts/test_backsend.sh index f9f20be35..161e34272 100755 --- a/xwords4/linux/scripts/test_backsend.sh +++ b/xwords4/linux/scripts/test_backsend.sh @@ -4,7 +4,9 @@ set -e -u PID=$$ +echo "**********************************************************************" echo "pid: $PID" +echo "**********************************************************************" ROOM=ROOM_$PID DIR=$(basename $0)_$PID @@ -27,28 +29,31 @@ done # run apps until done NBS=$DIR/nbs -while :; do +ZERO_COUNT=0 +while [ $ZERO_COUNT -lt 5 ]; do + WORK_DONE="" for NUM in $(seq 1 2); do - echo "running for $NUM" LOG=$DIR/game_${NUM}.log RELAYID=$(./scripts/relayID.sh --short $LOG) MSG_COUNT=$(../relay/rq -m $RELAYID 2>/dev/null | sed 's,^.*-- ,,') if [ "$MSG_COUNT" -gt 0 ]; then - echo "calling $APP" + WORK_DONE=true + $APP $COMMON_ARGS --file $DIR/game_${NUM}.xwg \ --with-nbs $NBS > /dev/null & PID1=$! sleep 1 # let server get ready - echo "calling rq" + ../relay/rq -f $RELAYID -b $NBS sleep 2 kill $PID1 && wait $PID1 || true else - echo "$MSG_COUNT messages for $RELAYID" + sleep 1 fi done + [ -z "$WORK_DONE" ] && ZERO_COUNT=$((ZERO_COUNT+1)) done echo "$0 done (pid: $PID)"