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.562 second using v1.01-cache-2.11-cpan-64827b87656 )