#!/bin/bash
###SHELLPACK preamble sysbenchcpu-bench 0.4.12

###SHELLPACK parseargBegin
###SHELLPACK parseargInstall
###SHELLPACK parseargParam --max-prime   MAX_PRIME
###SHELLPACK parseargParam --max-threads MAX_THREADS
###SHELLPACK parseargParam --iterations  ITERATIONS
###SHELLPACK parseargEnd
###SHELLPACK monitor_hooks

###SHELLPACK check_install_required sysbenchcpu-${VERSION}
###SHELLPACK init_complete

export PATH=$SHELLPACK_SOURCES/sysbenchcpu-${VERSION}-installed/bin:$PATH

###SHELLPACK threads_large_stride_begin 1 $MAX_THREADS
	monitor_pre_hook $LOGDIR_RESULTS $NR_THREADS
	###SHELLPACK iteration_begin $ITERATIONS
		echo Running $NR_THREADS threads Iteration $ITERATION/$ITERATIONS
		eval $TIME_CMD -o $LOGDIR_RESULTS/time-${NR_THREADS}-${ITERATION} \
			sysbench --test=cpu				\
				--num-threads=$NR_THREADS		\
				--test=cpu --cpu-max-prime=$MAX_PRIME	\
				run >> $LOGDIR_RESULTS/sysbench-raw-$NR_THREADS-$ITERATION
		SYSRET=$?
		if [ $SYSRET -ne 0 ]; then
			cat $LOGDIR_RESULTS/sysbench-raw-$NR_THREADS-$ITERATION
			die sysbench exited abnormally
		fi
	###SHELLPACK iteration_end
	monitor_post_hook $LOGDIR_RESULTS $NR_THREADS
###SHELLPACK threads_stride_end

echo sysbenchcpu successfully completed
exit $SHELLPACK_SUCCESS
