5 unshift @INC, '../lib';
6 require Config; import Config;
7 if ($Config{'extensions'} !~ /\bPeek\b/) {
8 print "1..0 # Skip: Devel::Peek was not built\n";
18 open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
22 if (open(OUT,">peek$$")) {
23 open(STDERR, ">&OUT") or die "Can't dup OUT: $!";
25 open(STDERR, ">&SAVERR") or die "Can't restore STDERR: $!";
27 if (open(IN, "peek$$")) {
29 $pattern =~ s/\$ADDR/0x[[:xdigit:]]+/g;
30 print $pattern, "\n" if $DEBUG;
32 print $dump, "\n" if $DEBUG;
33 print "[$dump] vs [$pattern]\nnot " unless $dump =~ /$pattern/ms;
37 die "$0: failed to open peek$$: !\n";
40 die "$0: failed to create peek$$: $!\n";
51 'SV = PV\\($ADDR\\) at $ADDR
53 FLAGS = \\(POK,pPOK\\)
61 'SV = PV\\($ADDR\\) at $ADDR
63 FLAGS = \\(.*POK,READONLY,pPOK\\)
70 'SV = IV\\($ADDR\\) at $ADDR
72 FLAGS = \\(IOK,pIOK\\)
77 'SV = IV\\($ADDR\\) at $ADDR
79 FLAGS = \\(.*IOK,READONLY,pIOK\\)
84 'SV = IV\\($ADDR\\) at $ADDR
86 FLAGS = \\(PADBUSY,PADMY,IOK,pIOK\\)
91 'SV = NV\\($ADDR\\) at $ADDR
93 FLAGS = \\(PADTMP,NOK,pNOK\\)
100 'SV = PVNV\\($ADDR\\) at $ADDR
102 FLAGS = \\(NOK,pNOK\\)
111 'SV = IV\\($ADDR\\) at $ADDR
113 FLAGS = \\(.*IOK,READONLY,pIOK,IsUV\\)
118 'SV = NULL\\(0x0\\) at $ADDR
124 'SV = RV\\($ADDR\\) at $ADDR
128 SV = PV\\($ADDR\\) at $ADDR
130 FLAGS = \\(POK,pPOK\\)
137 'SV = RV\\($ADDR\\) at $ADDR
141 SV = PVAV\\($ADDR\\) at $ADDR
152 SV = IV\\($ADDR\\) at $ADDR
154 FLAGS = \\(IOK,pIOK\\)
157 SV = PVNV\\($ADDR\\) at $ADDR
159 FLAGS = \\(IOK,NOK,pIOK,pNOK\\)
166 'SV = RV\\($ADDR\\) at $ADDR
170 SV = PVHV\\($ADDR\\) at $ADDR
172 FLAGS = \\(SHAREKEYS\\)
175 ARRAY = $ADDR \\(0:7, 1:1\\)
176 hash quality = 150.0%
182 Elt "123" HASH = $ADDR
183 SV = PVNV\\($ADDR\\) at $ADDR
185 FLAGS = \\(IOK,NOK,pIOK,pNOK\\)
192 'SV = RV\\($ADDR\\) at $ADDR
196 SV = PVCV\\($ADDR\\) at $ADDR
198 FLAGS = \\(PADBUSY,PADMY,POK,pPOK,ANON\\)
202 COMP_STASH = $ADDR\\t"main"
203 START = $ADDR ===> \\d+
207 GVGV::GV = $ADDR\\t"main" :: "__ANON__"
208 FILE = ".+\\b(?i:peek\\.t)"
214 OUTSIDE = $ADDR \\(MAIN\\)');
218 'SV = RV\\($ADDR\\) at $ADDR
222 SV = PVCV\\($ADDR\\) at $ADDR
227 COMP_STASH = $ADDR\\t"main"
228 START = $ADDR ===> \\d+
232 GVGV::GV = $ADDR\\t"main" :: "do_test"
233 FILE = ".+\\b(?i:peek\\.t)"
239 \\d+\\. $ADDR \\("\\$pattern" \\d+-\\d+\\)
240 \\d+\\. $ADDR \\(FAKE "\\$DEBUG" 0-\\d+\\)
241 \\d+\\. $ADDR \\("\\$dump" \\d+-\\d+\\)
242 OUTSIDE = $ADDR \\(MAIN\\)');
246 'SV = RV\\($ADDR\\) at $ADDR
250 SV = PVMG\\($ADDR\\) at $ADDR
252 FLAGS = \\(OBJECT,RMG\\)
260 STASH = $ADDR\\t"Regexp"');
264 'SV = RV\\($ADDR\\) at $ADDR
268 SV = PVHV\\($ADDR\\) at $ADDR
270 FLAGS = \\(OBJECT,SHAREKEYS\\)
273 STASH = $ADDR\\t"Tac"
283 'SV = PVGV\\($ADDR\\) at $ADDR
285 FLAGS = \\(GMG,SMG,MULTI\\)
289 MG_VIRTUAL = &PL_vtbl_glob
294 GvSTASH = $ADDR\\t"main"
306 FILE = ".+\\b(?i:peek\\.t)"