Integrate mainline (STDCHAR)
[p5sagit/p5-mst-13.2.git] / t / lib / net-hostent.t
1 #!./perl -w
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6     require Config; import Config;
7     if ($Config{'extensions'} !~ /\bSocket\b/ && 
8         !(($^O eq 'VMS') && $Config{d_socket})) {
9         print "1..0 # Test uses Socket, Socket not built\n";
10         exit 0;
11     }
12 }
13
14 BEGIN { $| = 1; print "1..7\n"; }
15
16 END {print "not ok 1\n" unless $loaded;}
17
18 use Net::hostent;
19
20 $loaded = 1;
21 print "ok 1\n";
22
23 # test basic resolution of localhost <-> 127.0.0.1
24 use Socket;
25
26 my $h = gethost('localhost');
27 print +(defined $h ? '' : 'not ') . "ok 2\n";
28 my $i = gethostbyaddr(inet_aton("127.0.0.1"));
29 print +(!defined $i ? 'not ' : '') . "ok 3\n";
30
31 print "not " if inet_ntoa($h->addr) ne "127.0.0.1";
32 print "ok 4\n";
33
34 print "not " if inet_ntoa($i->addr) ne "127.0.0.1";
35 print "ok 5\n";
36
37 # need to skip the name comparisons on Win32 because windows will
38 # return the name of the machine instead of "localhost" when resolving
39 # 127.0.0.1 or even "localhost"
40
41 # VMS returns "LOCALHOST" under tcp/ip services V4.1 ECO 2, possibly others
42 # OS/390 returns localhost.YADDA.YADDA
43
44 if ($^O eq 'MSWin32') {
45   print "ok $_ # skipped on win32\n" for (6,7);
46 } else {
47   print "not " unless $h->name =~ /^localhost(?:\..+)?$/i;
48   print "ok 6 # ",$h->name,"\n";
49
50   print "not " unless $i->name =~ /^localhost(?:\..+)?$/i;
51   print "ok 7 # ",$i->name,"\n";
52 }