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