Test::UNIXSock - testing UNIX domain socket program
use Test::UNIXSock; my $server = Test::UNIXSock->new( code => sub { my $path = shift; ... }, ); my $client = MyClient->new( sock => $server->path ); undef $server; # kill child process on DESTROY
Using memcached:
use Test::UNIXSock; my $memcached = Test::UNIXSock->new( code => sub { my $path = shift; exec $bin, '-s' => $path; die "cannot execute $bin: $!"; }, ); my $memd = Cache::Memcached->new({servers => [$memcached->path]}); ...
And functional interface is available:
use Test::UNIXSock; test_unix_sock( client => sub { my ($path, $server_pid) = @_; # send request to the server }, server => sub { my $path = shift; # run server }, );
Test::UNIXSock is a test utility to test UNIX domain socket server programs.
This is based on Test::TCP.
Functional interface.
test_unixsock( client => sub { my $path = shift; # send request to the server }, server => sub { my $path = shift; # run server }, # optional path => "/tmp/mytest.sock", # if not specified, create a sock in tmpdir max_wait => 3, # seconds );
wait_unix_sock({ path => $path });
Waits for a particular path is available for connect.
Create new instance of Test::UNIXSock.
Arguments are following:
Call $server->start() after create instance.
$server->start()
Default: true
The callback function. Argument for callback function is: $code->($pid).
$code->($pid)
This parameter is required.
Will wait for at most $max_wait seconds before checking port.
$max_wait
See also Net::EmptyPort.
Default: 10
Start the server process. Normally, you don't need to call this method.
Stop the server process.
Get the pid of child process.
Get the port number of child process.
See also Test::TCP FAQ section.
Fujiwara Shunichiro <fujiwara.shunichiro@gmail.com>
Test::TCP
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This module is based on Test::TCP. copyright (c) 2013 by Tokuhiro Matsuno <tokuhirom@gmail.com>.
To install Test::UNIXSock, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Test::UNIXSock
CPAN shell
perl -MCPAN -e shell install Test::UNIXSock
For more information on module installation, please visit the detailed CPAN module installation guide.