Commit | Line | Data |
---|---|---|
fc6b470a TB |
1 | #!perl -Ilib -d:switchd_empty |
2 | ||
cf76fa18 NC |
3 | BEGIN { |
4 | $^P = 0x122; | |
5 | chdir 't'; | |
6 | @INC = ('../lib', 'lib'); | |
7 | require './test.pl'; | |
8 | } | |
9 | ||
fc6b470a TB |
10 | use strict; |
11 | use warnings; | |
12 | no warnings 'redefine'; | |
13 | ||
14 | plan 2; | |
15 | ||
16 | our @lines; | |
17 | sub DB::DB { | |
18 | my ($p, $f, $l) = caller; | |
19 | return unless $f =~ /^\(eval \d+\)\[.*78586\.t:\d+\]/; | |
20 | push @lines, $l; | |
21 | } | |
22 | ||
23 | sub trace_lines { | |
24 | my ($src) = @_; | |
25 | local @lines; | |
26 | eval $src; | |
27 | die if $@; | |
28 | return join " ", @lines; | |
29 | } | |
30 | ||
31 | is trace_lines(<<'END'), "1 3 3 5"; | |
32 | ++$b; | |
33 | { | |
34 | ++$b; | |
35 | } | |
36 | ++$b; | |
37 | END | |
38 | ||
39 | is trace_lines(<<'END'), "1 2 3 3 5"; | |
40 | ++$b; | |
41 | for (my $a=1; $a <= 2; ++$a) { | |
42 | ++$b; | |
43 | } | |
44 | ++$b; | |
45 | END | |
46 |