our $DEBUG = 0;
open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
+
sub do_test {
my $pattern = pop;
if (open(OUT,">peek$$")) {
$pattern =~ s/\$FLOAT/(?:\\d*\\.\\d+(?:e[-+]\\d+)?|\\d+)/g;
# handle DEBUG_LEAKING_SCALARS prefix
$pattern =~ s/^(\s*)(SV =.* at )/(?:$1ALLOCATED at .*?\n)?$1$2/mg;
+
+ $pattern =~ s/^ *\$XSUB *\n/
+ ($] < 5.009) ? " XSUB = 0\n XSUBANY = 0\n" : '';
+ /mge;
+ $pattern =~ s/^ *\$ROOT *\n/
+ ($] < 5.009) ? " ROOT = 0x0\n" : '';
+ /mge;
+
+
+
print $pattern, "\n" if $DEBUG;
my $dump = <IN>;
print $dump, "\n" if $DEBUG;
my $c;
local $d = 0;
+
do_test( 1,
$a = "foo",
'SV = PV\\($ADDR\\) at $ADDR
COMP_STASH = $ADDR\\t"main"
START = $ADDR ===> \\d+
ROOT = $ADDR
- XSUB = 0x0
- XSUBANY = 0
+ $XSUB
GVGV::GV = $ADDR\\t"main" :: "__ANON__[^"]*"
FILE = ".*\\b(?i:peek\\.t)"
DEPTH = 0
COMP_STASH = $ADDR\\t"main"
START = $ADDR ===> \\d+
ROOT = $ADDR
- XSUB = 0x0
- XSUBANY = 0
+ $XSUB
GVGV::GV = $ADDR\\t"main" :: "do_test"
FILE = ".*\\b(?i:peek\\.t)"
DEPTH = 1
NV = 0
PROTOTYPE = ""
COMP_STASH = 0x0
- ROOT = 0x0
+ $ROOT
XSUB = $ADDR
XSUBANY = $ADDR \\(CONST SV\\)
SV = PV\\($ADDR\\) at $ADDR
DEPTH = 0
(?: MUTEXP = $ADDR
OWNER = $ADDR
-)? FLAGS = 0x400
+)? FLAGS = 0x1400
OUTSIDE_SEQ = 0
PADLIST = 0x0
OUTSIDE = 0x0 \\(null\\)');