#!/bin/sh
#
# Run from the desired tools/memory-model location.

T=/tmp/ckherd.sh.$$
trap 'rm -rf $T' 0 2
mkdir $T

D=/home/git/perfbook/CodeSamples/formal/herd

git status
for i in C-SB+o-rcusync-o+rl-o-o-rul \
	 C-SB+o-rcusync-o+i-rl-o-o-rul \
	 C-LB+rl-o-o-rul+rl-o-o-rul \
	 C-LB+o-rl-rul-o+o-rl-rul-o \
	 C-SB+o-rcusync-o+o-rcusync-o \
	 C-SB+o-rcusync-o+o-rl-o-rul \
	 C-SB+o-rcusync-o+rl-o-rul-o \
	 C-SB+o-rcusync-o+o-rl-rul-o \
	 C-SB+o-rcusync-o+o-o \
	 C-SB+o-rcusync-o+rl-o-o-rul+rl-o-o-rul \
	 C-SB+o-rcusync-o+o-rcusync-o+rl-o-o-rul+rl-o-o-rul
do
	outfile=$T/$i.litmus.out
	herd7 -conf linux-kernel.cfg $D/$i.litmus > $outfile 2>&1
	result=$?
	if grep -q '^Observation' $outfile
	then
		grep '^Observation' $outfile
	else
		echo ' --- No observation line!!!'
		cat $outfile
		if test "$result" -ne 0
		then
			echo $i: herd7 failure $result
		fi
	fi
done
