blob: a2e9637e0bb8e2a0da2d62f7c0d1efae55c84d11 [file] [log] [blame]
#!/bin/sh
[ "$#" = "0" ] && { echo "Please give the log directory path as an argument"; exit 1; }
DIRNAME="`dirname "$0"`"
LOGDIR="$1"
shift
if [ ! -d "${LOGDIR}" ]; then
echo "Error:: LogDir ${LOGDIR} does not exit."
exit 1
fi
LOGPOSTFIX="$1"
shift
POOLOPTION=
if [ $1 != "0" ]; then
POOLOPTION="$1"
fi
shift
is64bit=__IS_64_BIT__
if [ $is64bit -eq 1 ]; then
ARCH="64"
else
ARCH="32"
fi
runLatestProp() {
## executing LatestProp.java for fatching latest java properties
#LCP_PATH="$fwkbuild/framework/lib/javaobject.jar:$GFE_DIR/lib/gemfire.jar"
gcmdir=`echo $GF_JAVA | sed 's/where.*/where/'` # gcmdir = /export/gcm/where or /gcm/where
LCP_PATH="${GFBASE}/framework/lib/javaobject.jar"
if type -p cygpath >/dev/null 2>/dev/null; then
LCP_PATH="`cygpath -p -m "$LCP_PATH"`"
LCP_PATH="${GFBASE}/framework/lib/javaobject.jar;$GFE_DIR/lib/gemfire.jar;${GFBASE}/framework/lib/testdb.jar;$gcmdir/java/mysql/mysql-connector-java-5.1.8-bin.jar"
else
LCP_PATH="$LCP_PATH:$GFE_DIR/lib/gemfire.jar:${GFBASE}/framework/lib/testdb.jar:$gcmdir/java/mysql/mysql-connector-java-5.1.8-bin.jar"
fi
#echo $GF_JAVA -cp "$LCP_PATH" javaobject.LatestProp >> $TESTDIR/latest.prop
${GF_JAVA} -cp "${LCP_PATH}" javaobject.LatestProp >> $TESTDIR/latest.prop
}
LOGPREFIX=`date +'%y-%m-%d_%H-%M-%S'`
RUN_REPORT="${LOGDIR}/error.report"
FullCsvReport="${LOGDIR}/regression-$LOGPOSTFIX.csv"
rm -f "${RUN_REPORT}"
TESTDIRS="$@"
for tDir in ${TESTDIRS}; do
TESTDIR="${LOGDIR}/${tDir}"
if [ -d "${TESTDIR}" ]; then
REPORT="${TESTDIR}/error.report"
CSVREPORT="${TESTDIR}/regression.csv"
TESTNAME="`basename "${TESTDIR}"`"
if [ -f "${GF_JAVA}" ]; then
runLatestProp
else
echo "GF_JAVA.WIN variable is not set"
fi
CP_PATH="$GFE_DIR/lib/gemfire.jar;$GFE_DIR/../tests/classes"
TEMPDIRPATH="${TESTDIR}"
if type -p cygpath >/dev/null 2>/dev/null; then
CP_PATH="`cygpath -m "$CP_PATH"`"
TEMPDIRPATH="`cygpath -m "$TEMPDIRPATH"`"
fi
echo "===================================================" > "${REPORT}"
echo "Test results are in ${TESTDIR}" >> "${REPORT}"
echo "Ran test: ${TESTNAME}" >> "${REPORT}"
echo "Error Summary" >> "${REPORT}"
echo "===================================================" >> "${REPORT}"
grep "^\\[TEST:${TESTNAME}:.*TEST SUMMARY" "${TESTDIR}/Driver.log" | sed 's/\r$//' >> "${REPORT}" || echo "No SUMMARY lines found." >> "${REPORT}"
echo "===================================================" >> "${REPORT}"
echo "Suspect strings in Driver.log" >> "${REPORT}"
grep "^\\[TEST:${TESTNAME}:[eE]rror" "${TESTDIR}/Driver.log" | sed 's/\r$//' >> "${REPORT}"
echo "===================================================" >> "${REPORT}"
perl ${DIRNAME}/grepLogs.pl "${TESTDIR}" | sed 's/\r$//' >> "${REPORT}" 2>&1
echo "===================================================" >> "${REPORT}"
echo "End of ${TESTNAME} test run." >> "${REPORT}"
echo "===================================================" >> "${REPORT}"
echo >> "${REPORT}"
echo >> "${REPORT}"
echo "The copy variable= $COPYON" >> "${REPORT}"
if [ "$PERFTEST" == "true" ]
then
echo ${GF_JAVA} -cp "$CP_PATH" -DJTESTS=$GFE_DIR/../tests/classes -Dgemfire.home=$GFE_DIR perffmwk.PerfReporter "${TEMPDIRPATH}"
${GF_JAVA} -cp "$CP_PATH" -DJTESTS=$GFE_DIR/../tests/classes -Dgemfire.home=$GFE_DIR perffmwk.PerfReporter "${TEMPDIRPATH}"
## COPYON variable to be set only when running perf tests using build targets.
if [ "$COPYON" == "true" ]
then
if [ ! -f ${TEMPDIRPATH}/../../summary.prop ]
then
cp -f ${TEMPDIRPATH}/latest.prop ${TEMPDIRPATH}/../../summary.prop
fi
cp -r ${TEMPDIRPATH} ${TEMPDIRPATH}/../../.
fi
fi
${AWK:-awk} -F "=" '/^Name/ {print ""; next} {printf "%s,", $2} ' "${TESTDIR}/latest.prop" > "${CSVREPORT}"
TESTDATENTIME=`date +'%m/%d/%Y %T %Z'`
ls ${TESTDIR}/failure.txt > /dev/null 2>&1
if [ $? -ne 0 ]
then
echo "$POOLOPTION,${TESTDIR},pass,CYG,$ARCH,$TESTDATENTIME" >> "${CSVREPORT}"
else
echo "$POOLOPTION,${TESTDIR},fail,CYG,$ARCH,$TESTDATENTIME" >> "${CSVREPORT}"
fi
cat "${REPORT}" >> "${RUN_REPORT}"
cat "${CSVREPORT}" >> "${FullCsvReport}"
if [ "$DBOPTION" == "true" ]; then
echo ${GF_JAVA} -cp "$LCP_PATH" testdb.insertRegressionData ${FullCsvReport}
${GF_JAVA} -cp "$LCP_PATH" testdb.insertRegressionData ${FullCsvReport}
fi
fi
done