diff options
author | John Malmberg <wb8tyw@gmail.com> | 2009-01-04 13:13:45 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2009-01-08 15:14:30 -0600 |
commit | ca48d8be8832a77b6914b6e892f536b4d0b46f8a (patch) | |
tree | ffb2df77ec8f0c42ae0570f70bb04992051ed6cb | |
parent | 0e88df1c021b57b00806b5c1acdfd528120db28b (diff) | |
download | perl-ca48d8be8832a77b6914b6e892f536b4d0b46f8a.tar.gz |
lib/blib.t, lib/h2xs.t patches for VMS
Message-id: <49610A69.3020908@gmail.com>
The tests lib/blib.t and lib/h2xs.t need fixes to know when VMS is in
the UNIX report mode.
-rw-r--r-- | lib/blib.t | 20 | ||||
-rw-r--r-- | lib/h2xs.t | 27 |
2 files changed, 44 insertions, 3 deletions
diff --git a/lib/blib.t b/lib/blib.t index b6df9e8d2b..a959471cbf 100644 --- a/lib/blib.t +++ b/lib/blib.t @@ -9,6 +9,24 @@ use strict; use File::Spec; my($blib, $blib_arch, $blib_lib, @blib_dirs); +my $Is_VMS = $^O eq 'VMS'; +my $Is_VMS_mode = 0; + +if ($Is_VMS) { + require VMS::Filespec if $Is_VMS; + my $vms_unix_rpt; + + $Is_VMS_mode = 1; + if (eval 'require VMS::Feature') { + $vms_unix_rpt = VMS::Feature::current("filename_unix_report"); + } else { + my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || ''; + $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; + } + $Is_VMS_mode = 0 if ($vms_unix_rpt); +} + + sub _cleanup { rmdir foreach reverse (@_); unlink "stderr" unless $^O eq 'MacOS'; @@ -58,7 +76,7 @@ _mkdirs( @blib_dirs ); is( @INC, 3, '@INC now has 3 elements' ); is( $INC[2], '../lib', 'blib added to the front of @INC' ); -if ($^O eq 'VMS') { +if ($Is_VMS_mode) { # Unix syntax is accepted going in but it's not what comes out # So we don't use catdir above $blib_arch = 'blib.arch]'; diff --git a/lib/h2xs.t b/lib/h2xs.t index 380f838c91..7d037f3951 100644 --- a/lib/h2xs.t +++ b/lib/h2xs.t @@ -31,7 +31,28 @@ $ExtUtils::Manifest::Quiet=1; my $up = File::Spec->updir(); my $extracted_program = '../utils/h2xs'; # unix, nt, ... -if ($^O eq 'VMS') { $extracted_program = '[-.utils]h2xs.com'; } + +my $Is_VMS_traildot = 0; +if ($^O eq 'VMS') { + $extracted_program = '[-.utils]h2xs.com'; + + # We have to know if VMS is in UNIX mode. In UNIX mode, trailing dots + # should not be present. There are actually two settings that control this. + + $Is_VMS_traildot = 1; + my $unix_rpt = 0; + my $drop_dot = 0; + if (eval 'require VMS::Feature') { + $unix_rpt = VMS::Feature::current('filename_unix_report'); + $drop_dot = VMS::Feature::current('readdir_dropdotnotype'); + } else { + my $unix_report = $ENV{'DECC$FILENAME_UNIX_REPORT'} || ''; + $unix_rpt = $unix_report =~ /^[ET1]/i; + my $drop_dot_notype = $ENV{'DECC$READDIR_DROPDOTNOTYPE'} || ''; + $drop_dot = $drop_dot_notype =~ /^[ET1]/i; + } + $Is_VMS_traildot = 0 if $drop_dot && unix_rpt; +} if ($^O eq 'MacOS') { $extracted_program = '::utils:h2xs'; } if (!(-e $extracted_program)) { print "1..0 # Skip: $extracted_program was not built\n"; @@ -187,7 +208,9 @@ while (my ($args, $version, $expectation) = splice @tests, 0, 3) { $_ =~ s/$name:t:1.t/$name:t\/1.t/; # is this an h2xs bug? } if ($^O eq 'VMS') { - $_ .= '.' unless $_ =~ m/\./; + if ($Is_VMS_traildot) { + $_ .= '.' unless $_ =~ m/\./; + } $_ = lc($_) unless exists $got{$_}; } ok (-e $_, "check for $_") and delete $got{$_}; |