AnyEvent-Multilog
view release on metacpan or search on metacpan
script => [qw/t +* s9999/, $logfile],
on_exit => sub { $done->send(\@_) },
);
isa_ok $log, 'AnyEvent::Multilog';
$log->start;
# wait for exec
my $wait = AnyEvent->condvar;
my $t = AnyEvent->timer( after => 1, cb => $wait );
$wait->recv;
my $state = 0;
$log->run->delegate('input_handle')->handle->on_drain(sub {
if($state < 10){
$log->rotate;
$state++;
$log->push_write("this is line $state");
}
elsif($state == 10) {
xt/stress.t view on Meta::CPAN
my $dest = $tmp->base->absolute;
diag $dest;
my $log = AnyEvent::Multilog->new(
script => [qw|t +* s10240 n100|, "$dest"],
on_exit => sub { EV::unloop },
);
$log->start;
my $timer = AnyEvent->timer( after => 10, cb => sub { $log->shutdown } );
my $idle = AnyEvent->idle( cb => sub {
$log->push_write(join ' ', map { $words[$_] } map { int rand scalar @words } 1..(int rand 100));
});
EV::loop();
my $count = $tmp->ls;
cmp_ok $count, '>=', 100, 'n100 -> at least 100 files';
cmp_ok $count, '<=', 103, 'no more than 103 files';
( run in 0.984 second using v1.01-cache-2.11-cpan-49f99fa48dc )