Commit | Line | Data |
87a42246 |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
5 | if ($^O eq 'MacOS') { |
6 | @INC = qw(: ::lib ::macos:lib); |
7 | } else { |
8 | @INC = '.'; |
9 | push @INC, '../lib'; |
10 | } |
11 | } |
12 | |
13 | $| = 1; |
14 | use warnings; |
15 | use strict; |
16 | use Config; |
17 | |
18 | print "1..3\n"; |
19 | |
20 | my $test = 1; |
21 | |
22 | sub ok { print "ok $test\n"; $test++ } |
23 | |
24 | |
25 | my $a; |
26 | my $Is_VMS = $^O eq 'VMS'; |
27 | my $Is_MacOS = $^O eq 'MacOS'; |
28 | |
29 | my $path = join " ", map { qq["-I$_"] } @INC; |
30 | my $redir = $Is_MacOS ? "" : "2>&1"; |
31 | |
32 | $a = `$^X $path "-MO=Debug" -e 1 $redir`; |
33 | print "not " unless $a =~ |
34 | /\bLISTOP\b.*\bOP\b.*\bCOP\b.*\bOP\b/s; |
35 | ok; |
36 | |
37 | |
38 | $a = `$^X $path "-MO=Terse" -e 1 $redir`; |
39 | print "not " unless $a =~ |
40 | /\bLISTOP\b.*leave.*\n OP\b.*enter.*\n COP\b.*nextstate.*\n OP\b.*null/s; |
41 | ok; |
42 | |
43 | $a = `$^X $path "-MO=Terse" -ane "s/foo/bar/" $redir`; |
44 | $a =~ s/\(0x[^)]+\)//g; |
45 | $a =~ s/\[[^\]]+\]//g; |
46 | $a =~ s/-e syntax OK//; |
47 | $a =~ s/[^a-z ]+//g; |
48 | $a =~ s/\s+/ /g; |
49 | $a =~ s/\b(s|foo|bar|ullsv)\b\s?//g; |
50 | $a =~ s/^\s+//; |
51 | $a =~ s/\s+$//; |
52 | my $is_thread = $Config{use5005threads} && $Config{use5005threads} eq 'define'; |
53 | if ($is_thread) { |
54 | $b=<<EOF; |
55 | leave enter nextstate label leaveloop enterloop null and defined null |
56 | threadsv readline gv lineseq nextstate aassign null pushmark split pushre |
57 | threadsv const null pushmark rvav gv nextstate subst const unstack nextstate |
58 | EOF |
59 | } else { |
60 | $b=<<EOF; |
61 | leave enter nextstate label leaveloop enterloop null and defined null |
62 | null gvsv readline gv lineseq nextstate aassign null pushmark split pushre |
63 | null gvsv const null pushmark rvav gv nextstate subst const unstack nextstate |
64 | EOF |
65 | } |
66 | $b=~s/\n/ /g;$b=~s/\s+/ /g; |
67 | $b =~ s/\s+$//; |
68 | print "# [$a]\n# vs\n# [$b]\nnot " if $a ne $b; |
69 | ok; |
70 | |