Front page | perl.perl5.porters |
Postings from February 2002
[PATCH] assorted VMS test fix-ups, $Config{prefixexp} revisited
Thread Next
From:
Craig A. Berry
Date:
February 27, 2002 13:32
Subject:
[PATCH] assorted VMS test fix-ups, $Config{prefixexp} revisited
Message ID:
5.1.0.14.2.20020227152131.01ade728@exchi01
These are mostly related to filename case and its preservation (or lack
thereof).
configure.com
$Config{prefixexp} needs a colon at the end so we
know it's absolute for use in catdir(), etc.
ext/Cwd/t/cwd.t
vms/ext/filespec.t
play nice with both ODS-5 (case preserving)
and ODS-2 (non-case-preserving) file systems
lib/ExtUtils/t/Installed.t
mark portions TODO because the new() method attempts to derive mixed-case
package names from file names, and obviously that ain't gonna work on a
non-case-preserving file system. Is there a better way to get the package
name?
--- configure.com;-0 Sat Feb 23 14:17:41 2002
+++ configure.com Wed Feb 27 13:10:12 2002
@@ -5622,7 +5622,7 @@
$ WC "pidtype='" + pidtype + "'"
$ WC "pm_apiversion='" + version + "'"
$ WC "prefix='" + vms_prefix + "'"
-$ WC "prefixexp='" + vms_prefix + "'"
+$ WC "prefixexp='" + vms_prefix + ":'"
$ WC "privlib='" + privlib + "'"
$ WC "privlibexp='" + privlibexp + "'"
$ WC "procselfexe=' '"
--- ext/Cwd/t/cwd.t;-0 Sat Jan 19 11:11:47 2002
+++ ext/Cwd/t/cwd.t Wed Feb 27 14:18:01 2002
@@ -65,9 +65,9 @@
my $want = "t/$Test_Dir";
if( $IsVMS ) {
# translate the unixy path to VMSish
- $want = uc $want;
$want =~ s|/|\.|g;
$want .= '\]';
+ $want = '((?i)' . $want . ')'; # might be ODS-2 or ODS-5
}
mkpath(["$Test_Dir"], 0, 0777);
@@ -94,7 +94,7 @@
rmtree([$Top_Test_Dir], 0, 0);
if ($IsVMS) {
- like($ENV{PWD}, qr|\bT\]$|);
+ like($ENV{PWD}, qr|\b((?i)t)\]$|);
}
else {
like($ENV{PWD}, qr|\bt$|);
--- lib/ExtUtils/t/Installed.t;-0 Thu Feb 14 10:16:43 2002
+++ lib/ExtUtils/t/Installed.t Wed Feb 27 11:14:13 2002
@@ -108,8 +108,12 @@
SKIP: {
+ TODO: {
skip("could not write packlist: $!", 3 ) unless $wrotelist;
+ local $TODO = "new() attempts to derive package name from filename"
+ if $^O eq 'VMS';
+
# avoid warning and death by localizing glob
local *ExtUtils::Installed::Config;
my $fake_mod_dir = File::Spec->catdir(cwd(), 'auto', 'FakeMod');
@@ -126,6 +130,7 @@
isa_ok( $realei->{FakeMod}{packlist}, 'ExtUtils::Packlist' );
is( $realei->{FakeMod}{version}, '1.1.1',
'... should find version in modules' );
+ }
}
# modules
@@ -169,7 +174,7 @@
is( scalar @files, 0, '... should find no doc files given wrong dirs' );
@files = $ei->files('goodmod', 'prog');
is( scalar @files, 1, '... should find doc file in correct dir' );
-like( $files[0], qr/foobar$/, '... checking file name' );
+like( $files[0], qr/foobar[>\]]?$/, '... checking file name' );
@files = $ei->files('goodmod');
is( scalar @files, 2 + $mandirs, '... should find all files with no type specified' );
my %dirnames = map { lc($_) => dirname($_) } @files;
--- vms/ext/filespec.t;-0 Thu Jan 3 10:50:00 2002
+++ vms/ext/filespec.t Wed Feb 27 14:26:47 2002
@@ -30,7 +30,7 @@
# file specifications shwn above are in fact equivalent.
EOW
-is(rmsexpand('[]'), "\U$ENV{DEFAULT}", 'rmsexpand()') || print $defwarn;
+is(uc(rmsexpand('[]')), "\U$ENV{DEFAULT}", 'rmsexpand()') || print $defwarn;
is(rmsexpand('from.here'),"\L$ENV{DEFAULT}from.here") || print $defwarn;
is(rmsexpand('from'), "\L$ENV{DEFAULT}from") || print $defwarn;
[end of patch]
Thread Next
-
[PATCH] assorted VMS test fix-ups, $Config{prefixexp} revisited
by Craig A. Berry