blob: 1ef15bdee24fa97bc4ad6939d7656e7f7a35e8b2 [file] [log] [blame]
#!/bin/bash
TESTNAME=$1
RESULTNAME=$2
cd $(dirname $0)
RESULTSPATH=$PWD/results/$RESULTNAME
CORPUS=$PWD/corpus
HELPERPATH=$PWD/helper/$TESTNAME
TESTSPATH=$PWD/tests/$TESTNAME
USERPREFS=$RESULTSPATH/user_prefs
SITECONFIG=$RESULTSPATH/site
CONFIGPATH=$RESULTSPATH/share
DBPATH=$RESULTSPATH/dbdir/bayes
# Uncomment this variable if you want to override the system wide configpath
CONFIGPATHVALUE=--configpath=$CONFIGPATH
runcmd () {
echo "$*"
#time env PERL5OPT=-d:NYTProf NYTPROF=trace=2; $*
time $*
echo "** DB STATS **"
/usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --dump magic
$HELPERPATH/dbsize $RESULTSPATH
}
mkdir -p $RESULTSPATH
cp -R $TESTSPATH/* $RESULTSPATH
exec &> $RESULTSPATH/output.txt
$HELPERPATH/setup $RESULTSPATH
$HELPERPATH/cleardb $RESULTSPATH
echo "[Running sa-learn --ham on hambucket1.mbox]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --ham --mbox $CORPUS/hambucket1.mbox
echo "[Running sa-learn --spam on spambucket1.mbox]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --spam --mbox $CORPUS/spambucket1.mbox
echo "[Backing Up Bayes Tokens]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup1.txt
echo "[Running Bayes force-expire]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --force-expire
echo "[Removing old spamd.log file]"
rm $RESULTSPATH/spamd.log
echo "[Starting up spamd]"
/usr/sbin/spamd -d -L $CONFIGPATHVALUE --siteconfigpath=$SITECONFIG -x --syslog=$RESULTSPATH/spamd.log --socketpath=/tmp/spamd.sock --pidfile=$RESULTSPATH/spamd.pid
echo "[Sleeping a little to make sure spamd starts up]"
sleep 10
spamdpid=$(cat $RESULTSPATH/spamd.pid)
trap "kill $spamdpid" ERR EXIT INT TERM
echo "[Running Bucket 2]"
#$PWD/runmbox.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox
time $PWD/runmulti.pl $CORPUS/hambucket2.mbox $CORPUS/spambucket2.mbox $CORPUS/hambucket3.mbox $CORPUS/spambucket3.mbox
echo "[Running Bayes sync]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync
echo "[Backing Up Bayes Tokens]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup2.txt
echo "[Running Bayes force-expire]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --force-expire
echo "[Backing Up Bayes Tokens]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup3.txt
echo "[Running sa-learn --forget on hamforget1.mbox]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/hamforget1.mbox
echo "[Running sa-learn --forget on spamforget1.mbox]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --forget --mbox $CORPUS/spamforget1.mbox
echo "[Backing Up Bayes Tokens]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup4.txt
echo "[Running spamassassin on hambucket3.mbox]"
runcmd /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/hambucket4.mbox > /dev/null
echo "[Running spamassassin on spambucket3.mbox]"
runcmd /usr/bin/spamassassin -L $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --mbox $CORPUS/spambucket4.mbox > /dev/null
echo "[Running Bayes sync]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --sync
echo "[Backing Up Bayes Tokens]"
runcmd /usr/bin/sa-learn $CONFIGPATHVALUE -p $USERPREFS --siteconfigpath=$SITECONFIG --dbpath $DBPATH --backup > $RESULTSPATH/backup5.txt