This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
vmsish fix, ieee rand() cleanup
[perl5.git] / ext / B / t / stash.t
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 = '../lib';
9     }
10 }
11
12 $|  = 1;
13 use warnings;
14 use strict;
15 use Config;
16
17 print "1..1\n";
18
19 my $test = 1;
20
21 sub ok { print "ok $test\n"; $test++ }
22
23
24 my $a;
25 my $Is_VMS = $^O eq 'VMS';
26 my $Is_MacOS = $^O eq 'MacOS';
27
28 my $path = join " ", map { qq["-I$_"] } @INC;
29 $path = '"-I../lib" "-Iperl_root:[lib]"' if $Is_VMS;   # gets too long otherwise
30 my $redir = $Is_MacOS ? "" : "2>&1";
31
32
33 chomp($a = `$^X $path "-MB::Stash" "-Mwarnings" -e1`);
34 $a = join ',', sort split /,/, $a;
35 $a =~ s/-u(PerlIO|open)(?:::\w+)?,//g;
36 $a =~ s/-uWin32,// if $^O eq 'MSWin32';
37 $a =~ s/-uNetWare,// if $^O eq 'NetWare';
38 $a =~ s/-u(Cwd|File|File::Copy|OS2),//g if $^O eq 'os2';
39 $a =~ s/-uCwd,// if $^O eq 'cygwin';
40   $b = '-uCarp,-uCarp::Heavy,-uDB,-uExporter,-uExporter::Heavy,-uattributes,'
41      . '-umain,-ustrict,-uutf8,-uwarnings';
42 if ($Is_VMS) {
43     $a =~ s/-uFile,-uFile::Copy,//;
44     $a =~ s/-uVMS,-uVMS::Filespec,//;
45     $a =~ s/-uvmsish,//;
46     $a =~ s/-uSocket,//; # Socket is optional/compiler version dependent
47 }
48
49 {
50     no strict 'vars';
51     use vars '$OS2::is_aout';
52 }
53 if ((($Config{static_ext} eq ' ') || ($Config{static_ext} eq ''))
54     && !($^O eq 'os2' and $OS2::is_aout)
55         ) {
56     if (ord('A') == 193) { # EBCDIC sort order is qw(a A) not qw(A a)
57         $b = join ',', sort split /,/, $b;
58     }
59     print "# [$a]\n# vs.\n# [$b]\nnot " if $a ne $b;
60     ok;
61 } else {
62     print "ok $test # skipped: one or more static extensions\n"; $test++;
63 }
64