Mailing List Archive

svn commit: r1916435 - in /spamassassin/trunk: lib/Mail/SpamAssassin/Plugin/Pyzor.pm t/pyzor.t
Author: sidney
Date: Wed Mar 20 03:15:08 2024
New Revision: 1916435

URL: http://svn.apache.org/viewvc?rev=1916435&view=rev
Log:
bug 8231 - run perl pyzor tests even when python pyzor not installed. Also fix dbg message when pyzor crashes

Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm
spamassassin/trunk/t/pyzor.t

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm?rev=1916435&r1=1916434&r2=1916435&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Pyzor.pm Wed Mar 20 03:15:08 2024
@@ -647,7 +647,7 @@ sub _check_forked_result {
sub _check_result {
my ($self, $pms, $results) = @_;

- if (!@$results) {
+ unless ((defined $results) && @$results) {
dbg("pyzor: no response from server");
return 0;
}

Modified: spamassassin/trunk/t/pyzor.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/pyzor.t?rev=1916435&r1=1916434&r2=1916435&view=diff
==============================================================================
--- spamassassin/trunk/t/pyzor.t (original)
+++ spamassassin/trunk/t/pyzor.t Wed Mar 20 03:15:08 2024
@@ -8,8 +8,10 @@ use constant HAS_PYZOR => Mail::SpamAss

use Test::More;
plan skip_all => "Net tests disabled" unless conf_bool('run_net_tests');
-plan skip_all => "Pyzor executable not found in path" unless HAS_PYZOR;
-plan tests => 20;
+
+my $tests = 6;
+$tests += 14 if (HAS_PYZOR);
+plan tests => $tests;

diag('Note: Failures may not be an SpamAssassin bug, as Pyzor tests can fail due to problems with the Pyzor servers.');

@@ -29,20 +31,25 @@ tstprefs ("
q{ spam reported to Pyzor }, 'pyzor report',
);

-# Windows cmd doesn't recognize ' character
-ok sarun ("--cf=\"pyzor_fork 0\" -t -D info -r < data/spam/pyzor 2>&1", \&patterns_run_cb);
-ok_all_patterns();
+if (HAS_PYZOR) {
+ # Windows cmd doesn't recognize ' character
+ ok sarun ("--cf=\"pyzor_fork 0\" -t -D info -r < data/spam/pyzor 2>&1", \&patterns_run_cb);
+ ok_all_patterns();
+}

#TESTING FOR SPAM
%patterns = (
q{ 3.3 PYZOR_CHECK }, 'spam',
);

-ok sarun ("--cf=\"pyzor_fork 0\" -t < data/spam/pyzor", \&patterns_run_cb);
-ok_all_patterns();
-# Same with fork
-ok sarun ("--cf=\"pyzor_fork 1\" -t < data/spam/pyzor", \&patterns_run_cb);
-ok_all_patterns();
+if (HAS_PYZOR) {
+ ok sarun ("--cf=\"pyzor_fork 0\" -t < data/spam/pyzor", \&patterns_run_cb);
+ ok_all_patterns();
+ # Same with fork
+ ok sarun ("--cf=\"pyzor_fork 1\" -t < data/spam/pyzor", \&patterns_run_cb);
+ ok_all_patterns();
+}
+
# Same with Perl
ok sarun ("--cf=\"pyzor_fork 0\" --cf=\"pyzor_perl 1\" -t < data/spam/pyzor", \&patterns_run_cb);
ok_all_patterns();
@@ -56,11 +63,14 @@ ok_all_patterns();
q{ 3.3 PYZOR_CHECK }, 'nonspam',
);

-ok sarun ("-D pyzor --cf=\"pyzor_fork 0\" -t < data/nice/001 2>&1", \&patterns_run_cb);
-ok_all_patterns();
-# same with fork
-ok sarun ("-D pyzor --cf=\"pyzor_fork 1\" -t < data/nice/001 2>&1", \&patterns_run_cb);
-ok_all_patterns();
+if (HAS_PYZOR) {
+ ok sarun ("-D pyzor --cf=\"pyzor_fork 0\" -t < data/nice/001 2>&1", \&patterns_run_cb);
+ ok_all_patterns();
+ # same with fork
+ ok sarun ("-D pyzor --cf=\"pyzor_fork 1\" -t < data/nice/001 2>&1", \&patterns_run_cb);
+ ok_all_patterns();
+}
+
# same with Perl
ok sarun ("-D pyzor --cf=\"pyzor_fork 0\" --cf=\"pyzor_perl 1\" -t < data/nice/001 2>&1", \&patterns_run_cb);
ok_all_patterns();