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