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