1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#!./perl
BEGIN {
chdir 't';
@INC = '../lib';
require Config;
if (($Config::Config{'extensions'} !~ /\bB\b/) ){
print "1..0 # Skip -- Perl configured without B module\n";
exit 0;
}
require './test.pl';
}
plan tests => 5;
require_ok("B::Concise");
$out = runperl(switches => ["-MO=Concise"], prog => '$a', stderr => 1);
# If either of the next two tests fail, it probably means you need to
# fix the section labeled 'fragile kludge' in Concise.pm
($op_base) = ($out =~ /^(\d+)\s*<0>\s*enter/m);
is($op_base, 1, "Smallest OP sequence number");
($op_base_p1, $cop_base)
= ($out =~ /^(\d+)\s*<;>\s*nextstate\(main (-?\d+) /m);
is($op_base_p1, 2, "Second-smallest OP sequence number");
is($cop_base, 1, "Smallest COP sequence number");
# test that with -exec B::Concise navigates past logops (bug #18175)
$out = runperl(
switches => ["-MO=Concise,-exec"],
prog => q{$a||=$b && print q/foo/},
stderr => 1,
);
like($out, qr/print/, "-exec option with ||=");
|