Devel-Agent
view release on metacpan or search on metacpan
t/Devel-Agent.t view on Meta::CPAN
use Modern::Perl;
use Test::More qw(no_plan);
use AnyEvent;
use Data::Dumper;
$Data::Dumper::Sortkeys=1;
$Data::Dumper::Indent=1;
use FindBin qw($Bin);
use Scalar::Util qw( blessed looks_like_number);
require Method::Generate::DemolishAll;
use lib $Bin;
require TestMe;
#use Carp qw(confess);
#$SIG{__DIE__}=\&confess;
our $pkg='Devel::Agent';
use Sub::Defer qw(undefer_all);
require Plack::Middleware::Devel::Agent::Plack;
use Devel::Agent::Util;
use HTTP::Request::Common;
use Plack::Test;
use AnyEvent;
use File::Spec;
use File::Temp qw(tempdir);
undefer_all();
our $dir=tempdir;
# to enable unit tests
# PERL5OPT='-d:Agent' perl -Ilib t/Charter-IT-Agent.t
our $SET;
our $TESTS=0;
SKIP: {
skip 'PERL5OPT="-d:Agent" is not set',303 unless $^P==35;
my $self=DB->new(
save_to_stack=>1,
ignore_calling_class_re=>[qr/^Test2::/s,qr/^Test::/],);
$SET='STACK_TO 3';
stack_to(3);
sub stack_to {
++$TESTS;
$self->reset;
for(1 .. $_[0]) {
$self->depths->[$_]={depth=>$_,order_id=>$self->next_order_id,calls=>[]};
}
}
sub close_to {
my $id=shift;
++$TESTS;
$self->close_to($id,{depth=>$id,order_id=>$self->next_order_id,calls=>[]});
if($id==1) {
#diag Dumper($self->depths);
is_deeply($self->trace->[$#{$self->trace}],$self->depths->[$id],$SET.' ensure we were added to the stack');
return;
}
my $owner=$id -1;
#diag Dumper($self->depths->{$owner});
cmp_ok($self->order_id,'>=',$self->depths->[$id]->{order_id},$SET.' validate the order id');
my $cap=$self->depths->[$owner]->{calls}->$#*;
( run in 1.821 second using v1.01-cache-2.11-cpan-364913b4093 )