print "1..17\n";
our $DEBUG = 0;
+open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
sub do_test {
my $pattern = pop;
- if (open(STDERR,">peek$$")) {
+ if (open(OUT,">peek$$")) {
+ open(STDERR, ">&OUT") or die "Can't dup OUT: $!";
Dump($_[1]);
- close(STDERR);
+ open(STDERR, ">&SAVERR") or die "Can't restore STDERR: $!";
+ close(OUT);
if (open(IN, "peek$$")) {
local $/;
$pattern =~ s/\$ADDR/0x[[:xdigit:]]+/g;
print $pattern, "\n" if $DEBUG;
my $dump = <IN>;
print $dump, "\n" if $DEBUG;
- print "[$dump] vs [$pattern]\nnot " unless $dump =~ /$pattern/m;
+ print "[$dump] vs [$pattern]\nnot " unless $dump =~ /$pattern/ms;
print "ok $_[0]\n";
close(IN);
} else {
our $a;
our $b;
my $c;
-local $d;
+local $d = 0;
do_test( 1,
$a = "foo",
ROOT = $ADDR
XSUB = 0x0
XSUBANY = 0
- GVGV::GV = $ADDR\\t"main" :: "__ANON__"
- FILE = ".+\\b(?i:peek\\.t)"
+ GVGV::GV = $ADDR\\t"main" :: "__ANON__[^"]*"
+ FILE = ".*\\b(?i:peek\\.t)"
DEPTH = 0
- FLAGS = 0x4
+(?: MUTEXP = $ADDR
+ OWNER = $ADDR
+)? FLAGS = 0x4
PADLIST = $ADDR
OUTSIDE = $ADDR \\(MAIN\\)');
FLAGS = \\(ROK\\)
RV = $ADDR
SV = PVCV\\($ADDR\\) at $ADDR
- REFCNT = 3
+ REFCNT = (3|4)
FLAGS = \\(\\)
IV = 0
NV = 0
XSUB = 0x0
XSUBANY = 0
GVGV::GV = $ADDR\\t"main" :: "do_test"
- FILE = ".+\\b(?i:peek\\.t)"
+ FILE = ".*\\b(?i:peek\\.t)"
DEPTH = 1
- FLAGS = 0x0
+(?: MUTEXP = $ADDR
+ OWNER = $ADDR
+)? FLAGS = 0x0
PADLIST = $ADDR
\\d+\\. $ADDR \\("\\$pattern" \\d+-\\d+\\)
\\d+\\. $ADDR \\(FAKE "\\$DEBUG" 0-\\d+\\)
MG_VIRTUAL = &PL_vtbl_glob
MG_TYPE = \'\\*\'
MG_OBJ = $ADDR
- MG_LEN = 1
- MG_PTR = $ADDR "a"
NAME = "a"
NAMELEN = 1
GvSTASH = $ADDR\\t"main"
CVGEN = 0x0
GPFLAGS = 0x0
LINE = \\d+
- FILE = ".+\\b(?i:peek\\.t)"
+ FILE = ".*\\b(?i:peek\\.t)"
FLAGS = $ADDR
EGV = $ADDR\\t"a"');
END {
- unlink("peek$$");
+ 1 while unlink("peek$$");
}