#!/usr/bin/perl -w
BEGIN {
if (-e 't/test_dir') { # if we are running "t/rule_names.t", kluge around ...
chdir 't';
}
if (-e 'test_dir') { # running from test directory, not ..
unshift(@INC, '../blib/lib');
}
}
my $prefix = '.';
if (-e 'test_dir') { # running from test directory, not ..
$prefix = '..';
}
use strict;
use SATest; sa_t_init("debug");
use Test;
use Mail::SpamAssassin;
plan tests => 3;
# list of known debug facilities
my %facility = map {; $_ => 1 }
qw( accessdb auto-whitelist bayes check config daemon dcc dns eval
generic facility hashcash ident ignore info ldap learn locker log
logger markup message metadata mimeheader plugin prefork progress
pyzor razor2 received-header replacetags reporter rules spamd spf
textcat uri uridnsbl util ),
;
my $fh = IO::File->new_tmpfile();
open(STDERR, ">&=".fileno($fh)) || die "Cannot reopen STDERR";
ok(sarun("-t -D < data/spam/dnsbl.eml"));
seek($fh, 0, 0);
my $error = do {
local $/;
<$fh>;
};
my $malformed = 0;
my $unlisted = 0;
for (split(/^/m, $error)) {
if (/^(\w+):\s+(\S+?):\s*(.*)/) {
if (!exists $facility{$2}) {
$unlisted++;
print "unlisted debug facility: $2\n";
}
}
else {
print "malformed debug message: $_";
#disabled until bug 4061 is fixed
# $malformed = 1;
}
}
ok(!$malformed);
ok(!$unlisted);
syntax highlighted by Code2HTML, v. 0.9.1