#!/usr/bin/perl
use
lib (
"$FindBin::Bin/lib"
,
"../lib"
,
"lib"
);
subtest
to_ioloop
=>
sub
{
my
$p
= process(
sub
{
print
"Hello from first process\n"
;
sleep
1;
exit
70 });
$p
->start();
my
$stream
=
$p
->to_ioloop;
my
$output
;
$stream
->on(
read
=>
sub
{
$output
.=
pop
; is
$p
->is_running, 1,
'Process is running!'
}
);
Mojo::IOLoop->singleton->start()
unless
Mojo::IOLoop->singleton->is_running;
attempt {
attempts
=> 10,
condition
=>
sub
{
$p
->is_running == 0 },
cb
=>
sub
{
sleep
1 }
};
is
$p
->is_running, 0,
'Process is not running anymore'
;
is
$p
->exit_status, 70,
'We got exit status'
;
ok !
$p
->errored,
'No error from the process'
;
is
$output
,
"Hello from first process\n"
,
'Got correct output from process'
;
};
done_testing();