Testsuite: Add more tests to Exim::Runtest tests
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Thu, 3 Nov 2016 09:15:16 +0000 (10:15 +0100)
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>
Thu, 3 Nov 2016 09:15:16 +0000 (10:15 +0100)
test/lib/Exim/Runtest.pm
test/t/00-basic.t

index e60fce1..845388b 100644 (file)
@@ -23,7 +23,7 @@ for the F<runtest> script. No functions are exported yet.
 =cut
 
 sub mailgroup {
 =cut
 
 sub mailgroup {
-    my $group = shift;
+    my $group = shift // croak "Need a default group name.";
 
     croak "Need a group *name*, not a numeric group id."
         if $group =~ /^\d+$/;
 
     croak "Need a group *name*, not a numeric group id."
         if $group =~ /^\d+$/;
index af7414a..f198f7a 100644 (file)
@@ -1,24 +1,31 @@
 use Test::More;
 use Test::More;
+use Test::Pod::Coverage;
+use Test::Exception;
+
 use lib 'lib';
 use_ok 'Exim::Runtest' or BAIL_OUT 'Can not load the module';
 
 can_ok 'Exim::Runtest', qw(mailgroup dynamic_socket);
 use lib 'lib';
 use_ok 'Exim::Runtest' or BAIL_OUT 'Can not load the module';
 
 can_ok 'Exim::Runtest', qw(mailgroup dynamic_socket);
+pod_coverage_ok 'Exim::Runtest' => 'docs complete';
 
 subtest 'mailgroup' => sub {
     my $group = getgrgid $(;
     ok $group => 'got a group name';
 
 subtest 'mailgroup' => sub {
     my $group = getgrgid $(;
     ok $group => 'got a group name';
-    diag "use group $group";
+    note "use group $group";
 
     is Exim::Runtest::mailgroup($group), $group => 'group names match';
     ok $group = Exim::Runtest::mailgroup('non existing group') => 'cope with unknown group';
 
     is Exim::Runtest::mailgroup($group), $group => 'group names match';
     ok $group = Exim::Runtest::mailgroup('non existing group') => 'cope with unknown group';
-    diag "got random group: $group";
+    note "got random group: $group";
 
     ok getgrnam($group) => 'got an existing group';
 
     ok getgrnam($group) => 'got an existing group';
+
+    dies_ok { Exim::Runtest::mailgroup(22) } 'dies on numeric group';
+    dies_ok { Exim::Runtest::mailgroup() } 'dies on missing default group';
 };
 
 subtest 'dynamic_socket' => sub {
     ok my $socket = Exim::Runtest::dynamic_socket() => 'got a socket';
 };
 
 subtest 'dynamic_socket' => sub {
     ok my $socket = Exim::Runtest::dynamic_socket() => 'got a socket';
-    diag "got socket on port @{[$socket->sockport]}";
+    note "got socket on port @{[$socket->sockport]}";
     isa_ok $socket => 'IO::Socket::INET';
     cmp_ok $socket->sockport(), '>=', 1024 => 'port is >= 1024';
     $socket->close;
     isa_ok $socket => 'IO::Socket::INET';
     cmp_ok $socket->sockport(), '>=', 1024 => 'port is >= 1024';
     $socket->close;