3 unless ($ENV{PERL_TEST_Net_Ping}) {
4 print "1..0 # Skip: network dependent test\n";
8 unless (eval "require Socket") {
9 print "1..0 \# Skip: no Socket\n";
12 unless (getservbyname('echo', 'tcp')) {
13 print "1..0 \# Skip: no echo port\n";
18 # Remote network test using tcp protocol.
21 # Network connectivity will be required for all tests to pass.
22 # Firewalls may also cause some tests to fail, so test it
23 # on a clear network. If you know you do not have a direct
24 # connection to remote networks, but you still want the tests
25 # to pass, use the following:
27 # $ PERL_CORE=1 make test
33 # Everything loaded fine
36 my $p = new Net::Ping "tcp",9;
41 # Test on the default port
42 ok $p -> ping("localhost");
44 # Change to use the more common web port.
45 # This will pull from /etc/services on UNIX.
46 # (Make sure getservbyname works in scalar context.)
47 ok ($p -> {port_num} = (getservbyname("http", "tcp") || 80));
49 # Test localhost on the web port
50 ok $p -> ping("localhost");
52 # Hopefully this is never a routeable host
53 ok !$p -> ping("172.29.249.249");
55 # Test a few remote servers
56 # Hopefully they are up when the tests are run.
58 ok $p -> ping("www.geocities.com");
59 ok $p -> ping("ftp.geocities.com");
61 ok $p -> ping("www.freeservers.com");
62 ok $p -> ping("ftp.freeservers.com");
64 ok $p -> ping("yahoo.com");
65 ok $p -> ping("www.yahoo.com");
66 ok $p -> ping("www.about.com");