coverity appeasement
[minix.git] / commands / worldstone / worldstone.sh
blob54dfafc40729a9c26299d6a0e35f22ae1e32c4c8
2 if [ ! "$MAKE" ]; then MAKE=make; fi
3 ITERATIONS=5
4 PRECMD="$MAKE clean"
5 COMMAND="$MAKE all"
6 TAG=time.$(basename $(git --git-dir=/usr/src/.git describe --all --dirty))
8 set -e
10 while getopts "n:d:p:c:r:" c
12 case "$c" in
13 n) ITERATIONS=$OPTARG ;;
14 p) PRECMD="$OPTARG" ;;
15 c) COMMAND="$OPTARG" ;;
16 t) TAG=$OPTARG ;;
17 r) echo "Reading settings from $OPTARG"; cat $OPTARG; . $OPTARG ; echo "Reading done.";;
18 *) exit 1 ;;
19 esac
20 done
22 CONFIGPREFIX=".worldstone"
23 CONFIGVARS="ITERATIONS PRECMD COMMAND MAKE"
24 TMPF=.worldstone.tmpconfig.$$
25 rm -f $TMPF
26 for d in $CONFIGVARS
27 do eval "echo $d=\\\"\$$d\\\"" >>$TMPF
28 done
29 CONFIGTAG=`crc <$TMPF | awk '{ print $1 }'`
30 CONFIGFILE=$CONFIGPREFIX.$CONFIGTAG
31 mv -f $TMPF $CONFIGFILE
33 LOGFILE=$TAG.worldstone.log
35 while [ -f $LOGFILE ]
36 do echo "$0: WARNING: $LOGFILE already exists, appending."
37 LOGFILE=$LOGFILE.next
38 done
40 echo "Logging to $LOGFILE."
42 echo "First run."
43 sh -c "$PRECMD"
44 sh -c "$COMMAND"
46 for n in `seq 1 $ITERATIONS`
47 do echo -n "$n"
48 sh -c "$PRECMD >/dev/null 2>&1"
49 echo -n "."
50 sync
51 time -C sh -c "$COMMAND >/dev/null 2>&1; sync" 2>>$LOGFILE
52 echo -n " "
53 done
54 echo "Done."
55 echo "Time measurements logfile is $LOGFILE."
56 echo "Config file is $CONFIGFILE."