xwords/xwords4/linux/scripts/script_common.sh
ehouse 8be09b3fc4 Complete script so it runs gtk versions one host at a time (after
connecting) to test the relay's new disconnected message-storing
feature.  Works except when the gtk client crashes, which is a lot.
2009-11-09 00:06:53 +00:00

72 lines
1.6 KiB
Bash
Executable file

#!/bin/sh
r_safe_mod() {
NUM=$1
[ $NUM -eq 0 ] || NUM=$(( RANDOM % $NUM ))
echo $NUM
}
make_game_str() {
NTHISGAME=$1
NPLAYERS_HOST=$(( 1+ $(r_safe_mod $((NTHISGAME - 1))) ))
GAME_STR="$NPLAYERS_HOST"
NPLAYERS_GUESTS=$(( NTHISGAME - NPLAYERS_HOST ))
while [ $NPLAYERS_GUESTS -gt 0 ]; do
NTHISGUEST=$(( 1 + $( r_safe_mod $((NPLAYERS_GUESTS - 1))) ))
GAME_STR="${GAME_STR}$NTHISGUEST"
NPLAYERS_GUESTS=$((NPLAYERS_GUESTS - NTHISGUEST))
done
echo "$GAME_STR"
}
cmd_for() {
GAME_STR="$1"
INDX="$2"
ROOM="$3"
GAME="$4"
LOCALS=""
HOSTSTR=""
LOCAL_COUNT=${GAME_STR:$INDX:1}
for II in $(seq 0 $(($LOCAL_COUNT-1))); do LOCALS="$LOCALS -r Eric"; done
if [ 0 -eq $INDX ]; then # host?
HOSTSTR="-s"
for II in $(seq 1 $((${#GAME_STR}-1))); do
REMOTE_COUNT=${GAME_STR:$II:1}
for JJ in $(seq $REMOTE_COUNT); do HOSTSTR="$HOSTSTR -N"; done
done
fi
RESULT="$XWORDS -d $DICT -a $HOST -p $PORT $CURSES_ARGS -C $ROOM -q 2 -z 0:$WAIT"
RESULT="${RESULT} $LOCALS $HOSTSTR"
[ -n "$GAME" ] && RESULT="$RESULT -f $GAME"
echo "$RESULT"
}
log_name() {
RUN_NAME=${RUN_NAME:-$(basename $0)/_$$}
INDX=${1:-0}
echo "/tmp/$RUN_NAME/log_${INDX}.txt"
}
game_name() {
RUN_NAME=${RUN_NAME:-$(basename $0)/_$$}
INDX=${1:-0}
echo "/tmp/$RUN_NAME/game_${INDX}.xwg"
}
check_logs_done() {
ERR=0
for LOG in "$*"; do
if ! grep -q XWPROTO_END_GAME $LOG; then
ERR=1
break
fi
done
return $ERR
}