Mailing List Archive

svn commit: r325987 - in /spamassassin/trunk: lib/Mail/SpamAssassin/PerMsgStatus.pm t/recreate.t
Author: jgmyers
Date: Mon Oct 17 14:37:01 2005
New Revision: 325987

URL: http://svn.apache.org/viewcvs?rev=325987&view=rev
Log:
Bug 4511: suppress function definition warnings when recreating a Mail::SpamAssassin object

Added:
spamassassin/trunk/t/recreate.t (with props)
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=325987&r1=325986&r2=325987&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Mon Oct 17 14:37:01 2005
@@ -1295,14 +1295,26 @@
if (defined &{'_head_tests_'.$clean_priority}) {
undef &{'_head_tests_'.$clean_priority};
}
+ foreach my $rulename (keys %{$conf->{head_tests}->{$priority}}) {
+ undef &{$rulename.'_head_test'};
+ }
if (defined &{'_body_tests_'.$clean_priority}) {
undef &{'_body_tests_'.$clean_priority};
}
+ foreach my $rulename (keys %{$conf->{body_tests}->{$priority}}) {
+ undef &{$rulename.'_body_test'};
+ }
if (defined &{'_body_uri_tests_'.$clean_priority}) {
undef &{'_body_uri_tests_'.$clean_priority};
}
+ foreach my $rulename (keys %{$conf->{uri_tests}->{$priority}}) {
+ undef &{$rulename.'_uri_test'};
+ }
if (defined &{'_rawbody_tests_'.$clean_priority}) {
undef &{'_rawbody_tests_'.$clean_priority};
+ }
+ foreach my $rulename (keys %{$conf->{rawbody_tests}->{$priority}}) {
+ undef &{$rulename.'_rawbody_test'};
}
if (defined &{'_full_tests_'.$clean_priority}) {
undef &{'_full_tests_'.$clean_priority};

Added: spamassassin/trunk/t/recreate.t
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/t/recreate.t?rev=325987&view=auto
==============================================================================
--- spamassassin/trunk/t/recreate.t (added)
+++ spamassassin/trunk/t/recreate.t Mon Oct 17 14:37:01 2005
@@ -0,0 +1,76 @@
+#!/usr/bin/perl
+
+use Data::Dumper;
+use lib '.'; use lib 't';
+use SATest; sa_t_init("recreate");
+use Test;
+
+BEGIN {
+ if (-e 't/test_dir') {
+ chdir 't';
+ }
+
+ if (-e 'test_dir') {
+ unshift(@INC, '../blib/lib');
+ }
+
+ plan tests => 9;
+};
+
+use strict;
+use warnings;
+use Mail::SpamAssassin;
+
+my $prefix = '.';
+if (-e 'test_dir') { # running from test directory, not ..
+ $prefix = '..';
+}
+
+our $warning = 0;
+
+$SIG{'__WARN__'} = sub { print STDERR @_; ++$warning; };
+
+my $spamtest = Mail::SpamAssassin->new({
+ rules_filename => "$prefix/t/log/test_rules_copy",
+ site_rules_filename => "$prefix/t/log/test_default.cf",
+ userprefs_filename => "$prefix/masses/spamassassin/user_prefs",
+ local_tests_only => 1,
+ debug => 0,
+ dont_copy_prefs => 1,
+});
+
+$spamtest->init(0); # parse rules
+ok($spamtest);
+open (IN, "<data/spam/009");
+my $dataref = [<IN>];
+close IN;
+my $mail = $spamtest->parse($dataref);
+ok($mail);
+my $status = $spamtest->check($mail);
+ok($status);
+my $output = $status->get_report();
+ok($output);
+
+$status->finish();
+$mail->finish();
+$spamtest->finish();
+
+$spamtest = Mail::SpamAssassin->new({
+ rules_filename => "$prefix/t/log/test_rules_copy",
+ site_rules_filename => "$prefix/t/log/test_default.cf",
+ userprefs_filename => "$prefix/masses/spamassassin/user_prefs",
+ local_tests_only => 1,
+ debug => 0,
+ dont_copy_prefs => 1,
+});
+
+$spamtest->init(0); # parse rules
+ok($spamtest);
+$mail = $spamtest->parse($dataref);
+ok($mail);
+$status = $spamtest->check($mail);
+ok($status);
+$output = $status->get_report();
+ok($output);
+
+ok($warning == 0);

Propchange: spamassassin/trunk/t/recreate.t
------------------------------------------------------------------------------
svn:eol-style = native