#!/usr/bin/perl -T
use
SATest; sa_t_init(
"check_implemented"
);
foreach
my
$file
(<
$localrules
/*.pre>, <
$siterules
/*.pre>)
{
$file
= main::untaint_var(
$file
);
rename
$file
,
"$file.bak"
or
die
"rename $file failed"
;
open
IN,
"<$file.bak"
or
die
"cannot read $file.bak"
;
open
OUT,
">$file"
or
die
"cannot write $file"
;
while
(<IN>) {
s/^\s
*loadplugin
/
print
OUT;
}
close
IN;
close
OUT;
}
my
$sa
= create_saobj({
'dont_copy_prefs'
=> 1,
'local_tests_only'
=> 1
});
$sa
->init(1);
ok(
$sa
);
open
(IN,
"<data/spam/009"
);
my
$mail
=
$sa
->parse(\
*IN
);
close
IN;
$SIG
{
'__WARN__'
} =
sub
{
return
if
/
no
loaded plugin/;
print
STDERR
@_
;
};
eval
{
my
$status
=
$sa
->check(
$mail
);
ok 0;
};
print
"got warning: '$@'\n"
;
ok ($@ =~ /
no
loaded plugin implements/);