Devel-DebugHooks
view release on metacpan or search on metacpan
t/01-common view on Meta::CPAN
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More 'no_plan';
use Test::Output;
use FindBin qw/ $Bin /; my $lib = "-I$Bin/lib -I$Bin/../lib";
use Data::Section::Simple qw/ get_data_section /;
use Test::Differences;
unified_diff();
{
no warnings qw/ redefine prototype /;
*is = \&eq_or_diff;
}
sub n {
$_ = join '', map{ defined $_ ? $_ : '&undef' } @_;
s/(\(0x[\da-f]{6,}\))/(0x000000)/g;
s#(?:/.*?)?([^/]+\.pm)#$1#gm;
s#^(\w{4}: .*?\.pm -)(\d+)#$1xxx#gm;
s#(\.pm:)(\d+)-(\d+)$#$1xx-xx#gm;
$_;
}
sub normalize {
my $files = shift;
for my $key ( keys %$files ) {
$files->{ $key } = n( $files->{ $key } );
}
return $files;
}
my $files = normalize( get_data_section() );
use_ok( 'Devel::DebugHooks', 'use Devel::DebugHooks' );
my $script = <<'PERL';
sub t1{ return 7; };
sub t2{ goto &t1 };
$x = t2( 5, 'str' );
$x++;
PERL
is
n( `$^X $lib -d:DebugHooks -e '$script'` )
, $files->{ VerboseBehaviour }
, "Check verbose behaviour for demo purpose";
# Debug zero value
is `$^X $lib -d:DZV -e0`, "\n". $files->{ dzv }, "Debug zero value";
is
`$^X $lib -d:DZVii -e0`
, "\n". $files->{ dzv }
, "Debug zero value. Default initialization";
# Test flags for tracing messages
is
( run in 1.025 second using v1.01-cache-2.11-cpan-6aa56a78535 )