Add a few more tests and a 'testcover' make target

This commit is contained in:
Ask Bjørn Hansen 2009-04-02 23:30:20 -07:00
parent 45a5265837
commit 1ea8e79850
6 changed files with 58 additions and 3 deletions

3
.gitignore vendored
View File

@ -3,5 +3,8 @@ pm_to_blib
blib/ blib/
Makefile Makefile
Makefile.[a-z]* Makefile.[a-z]*
*~ *~
*.bak *.bak
cover_db/

View File

@ -15,7 +15,7 @@ WriteMakefile(
'Time::HiRes' => 0, 'Time::HiRes' => 0,
}, },
ABSTRACT => 'Flexible smtpd daemon written in Perl', ABSTRACT => 'Flexible smtpd daemon written in Perl',
AUTHOR => 'Ask Bjorn Hansen <ask@develooper.com>', AUTHOR => 'Ask Bjoern Hansen <ask@develooper.com>',
EXE_FILES => [qw(qpsmtpd qpsmtpd-forkserver qpsmtpd-prefork qpsmtpd-async)], EXE_FILES => [qw(qpsmtpd qpsmtpd-forkserver qpsmtpd-prefork qpsmtpd-async)],
); );
@ -25,3 +25,12 @@ sub MY::libscan {
return $path; return $path;
} }
sub MY::postamble {
qq[
testcover :
\t cover -delete && \\
HARNESS_PERL_SWITCHES=-MDevel::Cover \$(MAKE) test && \\
cover
]
}

View File

@ -1,6 +1,7 @@
use Test::More qw(no_plan); use Test::More tests => 23;
use strict; use strict;
use lib 't'; use lib 't';
use_ok('Test::Qpsmtpd'); use_ok('Test::Qpsmtpd');
ok(my ($smtpd, $conn) = Test::Qpsmtpd->new_conn(), "get new connection"); ok(my ($smtpd, $conn) = Test::Qpsmtpd->new_conn(), "get new connection");

View File

@ -1,4 +1,4 @@
use Test::More qw(no_plan); use Test::More tests => 12;
use strict; use strict;
use lib 't'; use lib 't';
use_ok('Test::Qpsmtpd'); use_ok('Test::Qpsmtpd');

29
t/misc.t Normal file
View File

@ -0,0 +1,29 @@
use Test::More tests => 14;
use strict;
use lib 't';
use_ok('Test::Qpsmtpd');
ok(my ($smtpd, $conn) = Test::Qpsmtpd->new_conn(), "get new connection");
# check_spamhelo plugin
is(($smtpd->command('HELO yahoo.com'))[0], 550, 'HELO yahoo.com');
# fault method
is(($smtpd->command('HELO localhost'))[0], 250, 'HELO localhost');
is(($smtpd->fault)->[0], 451, 'fault returns 451');
is(($smtpd->fault("test message"))->[1],
"Internal error - try again later - test message",
'returns the input message'
);
# vrfy command
is(($smtpd->command('VRFY <foo@bar>'))[0], 252, 'VRFY command');
# plugins/count_unrecognized_commands
is(($smtpd->command('nonsense'))[0], 500, 'bad command 1');
is(($smtpd->command('nonsense'))[0], 500, 'bad command 2');
is(($smtpd->command('nonsense'))[0], 500, 'bad command 3');
is(($smtpd->command('nonsense'))[0], 521, 'bad command 4');

13
t/rset.t Normal file
View File

@ -0,0 +1,13 @@
use Test::More tests => 10;
use strict;
use lib 't';
use_ok('Test::Qpsmtpd');
ok(my ($smtpd, $conn) = Test::Qpsmtpd->new_conn(), "get new connection");
is(($smtpd->command('EHLO localhost'))[0], 250, 'EHLO localhost');
is(($smtpd->command('MAIL FROM:<ask@perl.org>'))[0], 250, 'MAIL FROM:<ask@perl.org>');
is($smtpd->transaction->sender->address, 'ask@perl.org', 'got the right sender');
is(($smtpd->command('RSET'))[0], 250, 'RSET');
is($smtpd->transaction->sender, undef, 'No sender stored after rset');