#
# Non-regression tests.
# Stephane Genaud, mardi 15 mai 2007, 21:46:39 (UTC+0200)
#

#!/bin/bash 

if [ $# -eq 0 ]; then
	echo "usage : $0 <basedir> ..."
      exit 1
fi

basedir=$1
LOGFILE="$PWD/$0.log"
MPIRUN="p2pmpirun"

. ./common

#----------------------------- TEST STARTS -------------------------------------------
date > $LOGFILE
# init check
check_mpiboot


#---- build a jar file : heavy job !
compile_jar $basedir

#---- prepare classes to run

basejar="`basename $basedir`"
jarfile="${basejar}.jar"

#---- build the corresponding file list
echo "$PWD/${jarfile}" > xferfiles

#---- individuals tests : any class having a main method in the jar file may be called
classes=("${basejar}.section1.JGFBarrierBench")

cnt=0
for i in ${classes[*]}; do
      cnt=$(( $cnt + 1 ))
      prog[$cnt]=`basename ${i} .java`
done

# without replicas
procs=(2 3 4 5 6)


for i in ${procs[*]}; do
	for k in ${classes[*]}; do
            printf "\n-----------------------------------------\n" >> $LOGFILE
		printf "** Running $MPIRUN -n ${i} -l xferfiles ${k} ... " | tee -a $LOGFILE
		$MPIRUN -n ${i} -l xferfiles ${k} >> $LOGFILE 2>> $LOGFILE
		if [ $? -eq 0 ]; then
			printf " ok.\n"
		else
			echo "**[ Error ] failure on ${k}. See $0.log for details."
			exit 1
		fi
	done
done
echo "**[ Success ] test passed for: ${prog[*]}"
date >> $LOGFILE
