blob: 24e022d6fa440329927a1fc4cd7fd23fc826e74c [file] [log] [blame]
#!/bin/sh
# Location of the LLVM source and object trees
LLVMDIR=$HOME/cronjobs/llvm27
# Location of test suite object tree
TESTSUITE=$LLVMDIR/projects/test-suite
# Location of file containing log of the test build and run
LOGFILE=$LLVMDIR/projects/safecode/test/results
# List of directories to clean before test
TESTDIRS="MultiSource/Benchmarks/Olden External/SPEC/CINT2000"
#
# Save the old logfile.
#
if [ -f $LOGFILE ]
then
mv $LOGFILE $LOGFILE.old
fi
#
# Switch to the LLVM source tree.
#
cd $LLVMDIR
#
# Make sure LLVM is up-to-date.
#
echo "Updating LLVM"
svn up
echo "Building LLVM"
make -s -j3 tools-only > $LOGFILE
#
# Update and build Automatic Pool Allocation
#
cd $LLVMDIR/projects/poolalloc
echo "Updating Poolalloc"
svn up
echo "Building Poolalloc"
make -s -j3 >> $LOGFILE
#
# Update and build SAFECode
#
cd $LLVMDIR/projects/safecode
echo "Updating SAFECode"
svn up
echo "Building SAFECode"
make -s -j3 >> $LOGFILE
#
# Clean out the old test files.
#
echo "Cleaning out old test files..."
cd $TESTSUITE
make -k clean >> $LOGFILE
#
# Run the automatic pool allocation tests.
#
echo "Testing SAFECode..."
cd $LLVMDIR/projects/safecode/test
make -k lit 2>&1 | tee -a $LOGFILE
make NO_STABLE_NUMBERS=1 NO_LARGE_SIZE=1 -k -j3 progdebug 2>&1 >> $LOGFILE
#
# Print out the results.
#
echo "Logfile is in $LOGFILE"
for dir in $TESTDIRS
do
cat $TESTSUITE/$dir/report.debug.txt
done