AnyEvent-Subprocess
view release on metacpan or search on metacpan
t/external-process.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 15;
use AnyEvent::Subprocess;
use Scalar::Util qw(looks_like_number);
sub tests {
my $proc = shift;
ok $proc;
my $run = $proc->run;
my $condvar = $run->delegate('completion_condvar');
my $got_error = 0;
$run->delegate('stderr')->handle->on_read( sub { warn @_; warn $_[0]->rbuf; $got_error++ } );
$run->delegate('stdout')->handle->push_read( line => sub {
my ($h, $data) = @_;
ok length $data > 9, 'got some value from `date`';
ok looks_like_number $data, 'data looks like number';
});
my $done = $condvar->recv;
is $done->exit_value, 0, 'exited with value 0';
is $got_error, 0, 'no errors/warning/noise on stderr';
}
# test code => ArrayRef
t/handle-leftovers.t view on Meta::CPAN
$handle->{wbuf} = 'OH HAI';
my $done = $run->delegate('completion_condvar')->recv;
ok $done->is_success;
my $done_handle = $done->delegate('handle');
ok $done_handle->has_wbuf, 'has wbuf leftover';
ok !$done_handle->has_rbuf, 'does not have rbuf leftover';
like $done_handle->wbuf, qr/OH HAI/, 'wbuf looks sane';
done_testing;
( run in 0.318 second using v1.01-cache-2.11-cpan-64827b87656 )