#!/bin/bash
export OS_VER="$1"
export RUNREGRESSION_OS_VER="RUNREGRESSION_$1"
export HOSTNAME=`hostname`
cd $DYNAMORIO_NIGHTLY
start_dir=`pwd`
if [ -e ./test_started ]; then
echo "To:dynamorio-devnull@vmware.com" > mail_results
echo "Subject: Linux $OS_VER ($HOSTNAME) $NIGHTLY_TAG regression ERROR: previous run not finished!" >> mail_results
echo "" >> mail_results
read prev_start < ./test_started
echo "Previous run started on $prev_start did not finish" >> mail_results
echo "(or was aborted and 'test_started' was not removed)." >> mail_results
echo "Cancelling current job." >> mail_results
ssh $NIGHTLY_MAIL "rm -f mail_results.$OS_VER.$HOSTNAME"
scp mail_results $NIGHTLY_MAIL:mail_results.$OS_VER.$HOSTNAME
ssh $NIGHTLY_MAIL "/usr/sbin/sendmail -t -fdynamorio-devnull@vmware.com < mail_results.$OS_VER.$HOSTNAME"
rm -f mail_results.last
mv -f mail_results mail_results.last
exit
else
date > ./test_started
fi
export NIGHTLY_START_TIME=`date`
echo $DYNAMORIO_LOGDIR
cd $DYNAMORIO_HOME
p4 sync
cd $DYNAMORIO_TOOLS
make clean
cd $DYNAMORIO_LOGDIR_BASE
rm -rf logs
mkdir logs
cd $DYNAMORIO_SUITE/tests
make clean
cd $DYNAMORIO_SUITE
rm -rf regression-*.0*
echo "running regression"
./runregression -long 2>&1 | tee regression.log
echo "sending summary"
ls -td regression-*.0* > tmp
read dir_name < tmp
rm -f tmp
grep -c " \*\*\* .* failed:" regression.log > tmp
read fail_count < tmp
rm -f tmp
echo "To:dynamorio-devnull@vmware.com" > mail_results
echo "Subject: Linux $OS_VER ($HOSTNAME) $NIGHTLY_TAG regression results : started $NIGHTLY_START_TIME : $fail_count failing runs" >> mail_results
echo "" >> mail_results
echo "this automatically generated email contains the following sections: " >> mail_results
echo " 1) summary of win32 $OS_VER ($HOSTNAME) $NIGHTLY_TAG regression results" >> mail_results
echo " 2) details of win32 $OS_VER ($HOSTNAME) $NIGHTLY_TAG regression (unit test) results" >> mail_results
echo "" >> mail_results
echo "====================================================" >> mail_results
dstamp=`date | awk '{print $6 "-" $2$3}'`
details=w32-reg-$dstamp-$OS_VER.$HOSTNAME
../nightly/utreport.pl regression.log $dir_name $details > w32-reg-results 2>&1
echo "regression suite results:" >> mail_results
echo "" >> mail_results
lines=`wc -l w32-reg-results | awk '{print $1}'`;
if [ $lines -lt 50 ]; then
echo "RESULTS LOOK INCOMPLETE! CHECK DISK USAGE:" >> mail_results;
df -h -l >> mail_results;
echo "" >> mail_results;
grep 'No space' regression.log | tail >> mail_results;
echo "" >> mail_results;
fi
cat w32-reg-results >> mail_results
ssh $NIGHTLY_MAIL "rm -f mail_results.$OS_VER.$HOSTNAME"
scp mail_results $NIGHTLY_MAIL:mail_results.$OS_VER.$HOSTNAME
ssh $NIGHTLY_MAIL "/usr/sbin/sendmail -t -fdynamorio-devnull@vmware.com < mail_results.$OS_VER.$HOSTNAME"
tar_name="${dir_name%.*}"
tar_ext=".tgz"
rm -rf regression-dir-last
rm -f regression.log.last
rm -f mail_results.last
rm -f w32-reg-results.last
mv -f regression.log regression.log.last
mv -f $dir_name regression-dir-last
mv -f mail_results mail_results.last
mv -f w32-reg-results w32-reg-results.last
rm -f $start_dir/test_started
exit