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

SEE ALSO

LICENSE

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