0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 litmus=$1
0019
0020 if test -f "$litmus" -a -r "$litmus"
0021 then
0022 :
0023 else
0024 echo ' --- ' error: \"$litmus\" is not a readable file
0025 exit 255
0026 fi
0027 if test -f "$LKMM_DESTDIR/$litmus".out -a -r "$LKMM_DESTDIR/$litmus".out
0028 then
0029 :
0030 else
0031 echo ' --- ' error: \"$LKMM_DESTDIR/$litmus\".out is not a readable file
0032 exit 255
0033 fi
0034 if grep -q '^ \* Result: ' $litmus
0035 then
0036 outcome=`grep -m 1 '^ \* Result: ' $litmus | awk '{ print $3 }'`
0037 else
0038 outcome=specified
0039 fi
0040
0041 grep '^Observation' $LKMM_DESTDIR/$litmus.out
0042 if grep -q '^Observation' $LKMM_DESTDIR/$litmus.out
0043 then
0044 :
0045 else
0046 echo ' !!! Verification error' $litmus
0047 if ! grep -q '!!!' $LKMM_DESTDIR/$litmus.out
0048 then
0049 echo ' !!! Verification error' >> $LKMM_DESTDIR/$litmus.out 2>&1
0050 fi
0051 exit 255
0052 fi
0053 if test "$outcome" = DEADLOCK
0054 then
0055 if grep '^Observation' $LKMM_DESTDIR/$litmus.out | grep -q 'Never 0 0$'
0056 then
0057 ret=0
0058 else
0059 echo " !!! Unexpected non-$outcome verification" $litmus
0060 if ! grep -q '!!!' $LKMM_DESTDIR/$litmus.out
0061 then
0062 echo " !!! Unexpected non-$outcome verification" >> $LKMM_DESTDIR/$litmus.out 2>&1
0063 fi
0064 ret=1
0065 fi
0066 elif grep '^Observation' $LKMM_DESTDIR/$litmus.out | grep -q $outcome || test "$outcome" = Maybe
0067 then
0068 ret=0
0069 else
0070 echo " !!! Unexpected non-$outcome verification" $litmus
0071 if ! grep -q '!!!' $LKMM_DESTDIR/$litmus.out
0072 then
0073 echo " !!! Unexpected non-$outcome verification" >> $LKMM_DESTDIR/$litmus.out 2>&1
0074 fi
0075 ret=1
0076 fi
0077 tail -2 $LKMM_DESTDIR/$litmus.out | head -1
0078 exit $ret