#!/bin/bash
# This is the script for running the sharepagetest benchmark
P='sharepagetest'
ITERATIONS=600
NUM_CPU=$(grep -c '^processor' /proc/cpuinfo)
. $SHELLPACK_INCLUDE/common.sh

# Process the arguments
while [ $# -gt 0 ]; do
	case $1 in
	-i)
		ITERATIONS=$2
		shift 2
		;;
	*)
		echo Unrecognised commane-line parameter $1
		usage
		exit $SHELLPACK_ERROR
	esac
done

# Install support files
if [ ! \( -e "$SHELLPACK_SOURCES/sharepagetest/sharepage-test" \) ]; then
  	$SHELLPACK_INCLUDE/shellpack-install-sharepagetest
	check_status "$P: Installing sharepagetest"
fi
pushd $SHELLPACK_SOURCES/sharepagetest > /dev/null

# Include monitor hooks
. $SHELLPACK_INCLUDE/include-monitor.sh

# Run the benchmark
RETVAL=0
echo -n > $LOGDIR_RESULTS/sharepagetest.log
monitor_pre_hook $LOGDIR_RESULTS
for ITER in `seq 1 $ITERATIONS`; do
	./sharepage-test $NUM_CPU | tee -a $LOGDIR_RESULTS/sharepagetest.log
done
monitor_post_hook $LOGDIR_RESULTS

# Cleanup log for easier use
sed -e 's/ //g' $LOGDIR_RESULTS/sharepagetest.log > $LOGDIR_RESULTS/sharepagetest.log.tmp
mv $LOGDIR_RESULTS/sharepagetest.log.tmp $LOGDIR_RESULTS/sharepagetest.log

exit $RETVAL
#### Description Tests fault contention on a single page
#### Details sharepagetest-bench 5
