Algorithm-C3

 view release on metacpan or  search on metacpan

t/011_infinite_loop.t  view on Meta::CPAN

        e => [qw(d)],
        d => [qw(a h b c)],
        c => [],
        b => [],
        a => [],
    },
);

foreach my $loopy (@loopies) {
    eval {
        local $SIG{ALRM} = sub { die "ALRMTimeout" };
        alarm(3);
        Algorithm::C3::merge('k', sub {
            return @{ $loopy->{ $_[0] } };
        });
    };

    if(my $err = $@) {
        if($err =~ /ALRMTimeout/) {
            ok(0, "Loop terminated by SIGALRM");
        }
        elsif($err =~ /Infinite loop detected/) {
            ok(1, "Graceful exception thrown");
        }
        else {
            ok(0, "Unrecognized exception: $err");
        }
    }
    else {

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 2.358 seconds using v1.00-cache-2.02-grep-82fe00e-cpan-cec75d87357c )