NAME
Test::TCP::Multi - Test Using Multiple Servers/Clients
SYNOPSIS
use Test::MultiTCP;
test_multi_tcp(
server1 => sub {
my ($port, $data_hash) = @_;
},
server2 => sub { ... },
server3 => sub { ... },
client1 => sub {
my ($data_hash) = @_;
},
client2 => sub { ... },
client3 => sub { ... }
);
WARNING
This code is mostly a copy of Test::TCP, but the portions that I wrote are eh... a HACK. Don't use unless you can debug things yourself!
DESCRIPTION
Test::TCP allows you to run client/server tests. With Test::TCP::Multi, you can have multiple servers and clients.
SERVERS
Any key that starts with the string "server" (case-insensitive) is considered to be a server. Test::TCP::Multi will attempt to find an open port for any of these entries.
Server callbacks should expect two arguments, the port number you should use, and a hashref containing pids of each entry, and a port number (if the entry is a server)
UNLIKE Test::TCP, YOU HAVE TO KILL THE SERVERS YOURSELF! This is because there's no way for Test::TCP::Multi to know if you're really done with the servers or not. Simply do something like
kill_proc($data_hash->{ your_server_name }->{pid});
CLIENTS
Any key that starts with the string "client" (case-insensitive) is considered to be a client.
Server callbacks should expect two arguments, the port number you should use, and a hashref containing pids of each entry, and a port number (if the entry is a server)
AUTHOR
The important bits by Tokuhiro Matsuno (Test::TCP)
The hacked up stuff by Daisuke Maki <daisuke@endeworks.jp>
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://www.perl.com/perl/misc/Artistic.html