hostname.t revision 1.5
1#!perl
2
3use 5.008001;
4
5use strict;
6use warnings;
7
8BEGIN {
9    if (!eval { require Socket }) {
10        print "1..0 # Skip: no Socket\n"; exit 0;
11    }
12    if (ord('A') == 193 && !eval { require Convert::EBCDIC }) {
13        print "1..0 # Skip: EBCDIC but no Convert::EBCDIC\n"; exit 0;
14    }
15}
16
17use Net::Domain qw(hostname domainname hostdomain hostfqdn);
18use Net::Config;
19
20unless($NetConfig{test_hosts}) {
21    print "1..0 # Skip: test_hosts not enabled in config\n";
22    exit 0;
23}
24
25print "1..5\n";
26
27my $domain = domainname();
28
29if(defined $domain && $domain ne "") {
30 print "ok 1 - defined, non-empty domainname\n";
31}
32elsif (not defined $domain) {
33 print "ok 1 # SKIP domain not fully defined\n";
34}
35else {
36 print "not ok 1\n";
37}
38
39# This checks thats hostanme does not overwrite $_
40my @domain = qw(foo.example.com bar.example.jp);
41my @copy = @domain;
42
43my @dummy = grep { defined hostname() and hostname() eq $_ } @domain;
44
45($domain[0] && $domain[0] eq $copy[0])
46  ? print "ok 2\n"
47  : print "not ok 2\n";
48
49@dummy = grep { defined hostdomain() and hostdomain() eq $_ } @domain;
50
51($domain[0] && $domain[0] eq $copy[0])
52  ? print "ok 3\n"
53  : print "not ok 3\n";
54
55my $name = hostname();
56$domain = hostdomain();
57if(defined $domain && defined $name && $name ne "" && $domain ne "") {
58    hostfqdn() eq $name . "." . $domain ? print "ok 4\n" : print "not ok 4\n";
59    domainname() eq $name . "." . $domain ? print "ok 5\n" : print "not ok 5\n";} else {
60    print "ok 4 # SKIP domain not fully defined\n";
61    print "ok 5 # SKIP domain not fully defined\n";
62}
63