X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fh2xs.t;h=7d037f39516b6019a76b9bdc6e9c24001b1f700f;hb=55ec0dff636c2a8ee5225314d7d46f928ab7f6da;hp=5485323f3dc2b313a315d6c5f86fad986769c26a;hpb=763a0d2122c8fd573fe9eed4086d4716ae928428;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/h2xs.t b/lib/h2xs.t index 5485323..7d037f3 100644 --- a/lib/h2xs.t +++ b/lib/h2xs.t @@ -14,7 +14,7 @@ BEGIN { @INC = '../lib'; # FIXME (or rather FIXh2xs) require Config; - if (($Config::Config{'extensions'} !~ /\bDevel::PPPort\b/) ){ + if (($Config::Config{'extensions'} !~ m!\bDevel/PPPort\b!) ){ print "1..0 # Skip -- Perl configured without Devel::PPPort module\n"; exit 0; } @@ -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"; @@ -56,6 +77,10 @@ if ($^O eq 'MacOS') { my $name = 'h2xst'; my $header = "$name.h"; my $thisversion = sprintf "%vd", $^V; +$thisversion =~ s/^v//; + +# If this test has failed previously a copy may be left. +rmtree($name); my @tests = ( "-f -n $name", $], <<"EOXSFILES", @@ -183,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{$_};