blob: 3f9f94927dbe698f7adedba21305ab8ed2bf456b [file] [log] [blame]
#!/usr/bin/perl -T
use lib '.'; use lib 't';
use SATest; sa_t_init("spamc_optL");
use constant HAS_SDBM_FILE => eval { require SDBM_File; };
use Test::More;
plan skip_all => "No SPAMC exe" if $SKIP_SPAMC_TESTS;
plan skip_all => "No SDBM_File" unless HAS_SDBM_FILE;
plan tests => 18;
# ---------------------------------------------------------------------------
tstprefs ("
bayes_store_module Mail::SpamAssassin::BayesStore::SDBM
");
start_spamd("-L --allow-tell");
%patterns = ( 'Message successfully un/learned' => 'learned spam' );
ok (spamcrun ("-L spam < data/spam/001", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( 'Message was already un/learned' => 'already learned spam' );
ok (spamcrun ("-L spam < data/spam/001", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( '1 0 non-token data: nspam' => 'spam in database' );
ok(salearnrun("--dump magic", \&patterns_run_cb));
ok_all_patterns();
# Test option=value
%patterns = ( '1 0 non-token data: nspam' => 'spam in database' );
ok(salearnrun("--dump=magic", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( 'Message successfully un/learned' => 'forget spam' );
ok (spamcrun ("-L forget < data/spam/001", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( 'Message successfully un/learned' => 'learned ham' );
ok (spamcrun ("-L ham < data/nice/001", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( 'Message was already un/learned' => 'already learned ham' );
ok (spamcrun ("-L ham < data/nice/001", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( '1 0 non-token data: nham' => 'ham in database' );
ok(salearnrun("--dump magic", \&patterns_run_cb));
ok_all_patterns();
%patterns = ( 'Message successfully un/learned' => 'learned ham' );
ok (spamcrun ("-L forget < data/nice/001", \&patterns_run_cb));
ok_all_patterns();
stop_spamd();