Test::TCP(3p)

NAME
Test::TCP - testing TCP program

SYNOPSIS
    use Test::TCP;
    test_tcp(
        client => sub {
            my $port = shift;
            # send request to the server
        },
        server => sub {
            my $port = shift;
            # run server
        },
    );

using other server program

    test_tcp(
        client => sub {
            my $port = shift;
            # send request to the server
        },
        server => sub {
            exec '/foo/bar/bin/server', 'options';
        },
    );

DESCRIPTION
Test::TCP is test utilities for TCP/IP program.

METHODS

empty_port
        my $port = empty_port();

    Get the available port number, you can use.

test_tcp
        test_tcp(
            client => sub {
                my $port = shift;
                # send request to the server
            },
            server => sub {
                my $port = shift;
                # run server
            },
            # optional
            port => 8080
        );

wait_port
        wait_port(8080);

    Waits for a particular port is available for connect.

FAQ

How to invoke two servers?
    You can call test_tcp() twice!

        test_tcp(
            client => sub {
                my $port1 = shift;
                test_tcp(
                    client => sub {
                        my $port2 = shift;
                        # some client code here
                    },
                    server => sub {
                        my $port2 = shift;
                        # some server2 code here
                    },
                );
            },
            server => sub {
                my $port1 = shift;
                # some server1 code here
            },
        );

AUTHOR
Tokuhiro Matsuno <tokuhirom@gmail.com>

THANKS TO
kazuhooku

dragon3

charsbar

Tatsuhiko Miyagawa

lestrrat

SEE ALSO

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