Testsuite: Add more tests to Exim::Runtest tests
[exim.git] / test / t / 00-basic.t
... / ...
CommitLineData
1use Test::More;
2use Test::Pod::Coverage;
3use Test::Exception;
4
5use lib 'lib';
6use_ok 'Exim::Runtest' or BAIL_OUT 'Can not load the module';
7
8can_ok 'Exim::Runtest', qw(mailgroup dynamic_socket);
9pod_coverage_ok 'Exim::Runtest' => 'docs complete';
10
11subtest 'mailgroup' => sub {
12 my $group = getgrgid $(;
13 ok $group => 'got a group name';
14 note "use group $group";
15
16 is Exim::Runtest::mailgroup($group), $group => 'group names match';
17 ok $group = Exim::Runtest::mailgroup('non existing group') => 'cope with unknown group';
18 note "got random group: $group";
19
20 ok getgrnam($group) => 'got an existing group';
21
22 dies_ok { Exim::Runtest::mailgroup(22) } 'dies on numeric group';
23 dies_ok { Exim::Runtest::mailgroup() } 'dies on missing default group';
24};
25
26subtest 'dynamic_socket' => sub {
27 ok my $socket = Exim::Runtest::dynamic_socket() => 'got a socket';
28 note "got socket on port @{[$socket->sockport]}";
29 isa_ok $socket => 'IO::Socket::INET';
30 cmp_ok $socket->sockport(), '>=', 1024 => 'port is >= 1024';
31 $socket->close;
32};
33
34
35done_testing;