NAME
    Test::Ping - Testing pings using Net::Ping

VERSION
    Version 0.07

SYNOPSIS
    This module helps test pings using Net::Ping

        use Test::More tests => 2;
        use Test::Ping;

        my $good_host = '127.0.0.1';
        my $bad_host  = '1.1.1.1;

        ping_ok(     $good_host, "able to ping $good_host" );
        ping_not_ok( $bad_host,  "can't ping $bad_host"    );
        ...

DESCRIPTION
    Using this module you do not have to work with an object, but can
    instead use actual procedural testing functions, which is cleaner and
    more straight forward for testing purposes. This module keeps track of
    the object for you, starting and closing it and provides a nifty way of
    testing for pings.

SUBROUTINES/METHODS
  ping_ok( $host, $test )
    Checks if a host replies to ping correctly.

  ping_not_ok( $host, $test )
    Does the exact opposite of ping_ok().

EXPORT
    ping_ok

    ping_not_ok

SUPPORTED VARIABLES
    Only variables which have tests would be noted as supported. Tests is
    actually what I'm working on right now.

    PROTO, TIMEOUT and PORT only change the values in the object hash, and
    don't run any methods or recreate the object. That's what the Net::Ping
    testing suite does and that's the spec I'm following here.

  PROTO
    Changes the 'proto' hash value.

  TIMEOUT
    Changes the 'timeout' hash value.

  PORT
    Changes the 'port_num' hash value.

INTEND-TO-SUPPORT VARIABLES
    These are variables I intend to support, so stay tuned or just send a
    patch.

    Generally speaking, variables are added whenever there is a test they
    have to pass.

  SOURCE_VERIFY
  SERVICE_CHECK
  TCP_SERVICE_CHECK
DISABLED TILL FURTHER NOTICE VARIABLES
  BIND
INTERNAL METHODS
  _has_var_ok( $var_name, $var_value, $description )
    Gets a variable name to test, what to test against and the name of the
    test. Runs an actual test using Test::Builder.

    This is used to debug the actual module, if you wanna make sure it
    works.

        use Test::More tests => 1;
        use Test::Ping;

        # Test::Ping calls the protocol variable 'PROTO',
        # but Net::Ping calls it internally (in the hash) 'proto'
        # (this is documented above under PROTO)
        # this is checking against Net::Ping specifically

        $Test::Ping::PROTO = 'icmp';
        Test::Ping::_has_var_ok(
            'proto',
            'icmp',
            'Net::Ping has correct protocol variable',
        );

  _ping_object
    When debugging behavior, fetching an internal object from a procedural
    module can be a bit difficult (especially when it has base inheritance
    with another one).

    This method allows you (or me) to fetch the actual Net::Ping object from
    Test::Ping. It eases testing and assurance.

    This is used by the Tie functions to set the variables for the object
    for you.

        use Test::Ping;
        use Data::Dumper;

        print 'Object internals: ' . Dumper( Test::Ping::_ping_object() );

    Or you could also change the Net::Ping object to one of your own:

        use Test::Ping;
        use Net::Ping;

        Test::Ping::_ping_object( Net::Ping->new(@opts) );

    However, you should be warned. I test for a Net::Ping object so trying
    to pass other objects will fail. If anyone needs this changed or any
    reason, contact me and I'll consider it.

DEPENDENCIES
    This module uses Net::Ping.

AUTHOR
    Sawyer X, "<xsawyerx at cpan.org>"

BUGS
    Please report any bugs or feature requests to "bug-test-ping at
    rt.cpan.org", or through the web interface at
    <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Ping>.

    There is also a GitHub issue tracker at
    <http://github.com/xsawyerx/test-ping/issues> which I'll probably check
    just as much.

SUPPORT
    You can find documentation for this module with the perldoc command.

        perldoc Test::Ping

    If you have Git, this is the clone path:

    git@github.com:xsawyerx/test-ping.git

    You can also look for information at:

    *   GitHub Website:

        <http://github.com/xsawyerx/test-ping/tree/master>

    *   RT: CPAN's request tracker

        <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Ping>

    *   AnnoCPAN: Annotated CPAN documentation

        <http://annocpan.org/dist/Test-Ping>

    *   CPAN Ratings

        <http://cpanratings.perl.org/d/Test-Ping>

    *   Search CPAN

        <http://search.cpan.org/dist/Test-Ping/>

ACKNOWLEDGEMENTS
    Thanks to everyone who works and contributed to Net::Ping. This module
    depends solely on it.

COPYRIGHT & LICENSE
    Copyright 2009 Sawyer X, all rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

