changes and data/eval files for new evaluations
[IRC.git] / Robust / src / Benchmarks / SSJava / JavaNator / run-batch-mode.sh
1 #!/bin/bash
2
3 usage () {
4   echo 'usage:'
5   echo '  run-batch-mode <random seed>'
6 }
7
8 if [[ -z $1 ]] ; then
9   usage
10   echo 'Please supply the initial random seed. (e.g. 9090)'
11   exit
12 fi
13
14 trycommand () {
15   $1
16   if [[ ! $? ]] ; then
17     echo "FAILED: $1"
18     exit
19   fi  
20 }
21
22 H=errinj-history.txt
23 D=errinj-diff.tmp
24 X=errinj-diff-ranges.tmp
25 T=errinj-range.tmp
26
27 trycommand "rm $H"
28
29 trycommand "make clean"
30 echo "### make normal"
31 trycommand "make normal"
32 echo "### run normal"
33 trycommand "run-normal.sh"
34
35 max=$(($1+100))
36
37 for (( i=$1;i<max;i++))
38 do
39   echo 'idx' $i >> $H
40   trycommand "rm $X"
41   trycommand "make cleanerror"
42   echo "### make error"
43   trycommand "make error INV_ERROR_PROB=500 RANDOMSEED=$i"
44   echo "### run error"
45   trycommand "run-error-batchmode.sh $H"
46   diff normal.txt error.txt > $D
47   sed \
48   -e '/^[^0-9]/ d' \
49   -e  's/\(.*\),\(.*\)c.*/\1/' \
50   -e  's/\(.*\)c.*/\1/' \
51   -e  's/\(.*\)a.*/\1/' \
52   $D >> $X
53   if [[ -s $D ]] ; then
54     awk 'NR==1;END{print}' $X > $T
55     awk 'NR==1{s=$0;getline;e=$0;if(s==e) print s}' $T >> $H
56   else
57     echo 'NO DIFF' >> $H
58   fi
59 done
60
61