This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
02e0b25e875de4fb1871db664c6fda2003c70c81
[perl5.git] / t / run / switchd-78586.t
1 #!perl -Ilib -d:switchd_empty
2
3 BEGIN {
4     $^P = 0x122;
5     chdir 't';
6     @INC = ('../lib', 'lib');
7     require './test.pl';
8 }
9
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