summaryrefslogtreecommitdiff
path: root/lib/ExtUtils/t
diff options
context:
space:
mode:
authorJohn Malmberg <wb8tyw@gmail.com>2009-02-15 09:25:10 -0600
committerCraig A. Berry <craigberry@mac.com>2009-02-15 09:37:24 -0600
commit3d55b451d9544fbd4c27c33287b76bee30328830 (patch)
tree02afa4ad1d9488a1638a37e6d4a69d33195e56d7 /lib/ExtUtils/t
parente28f3139a63672a86833f04e78c6d3b42814350b (diff)
downloadperl-3d55b451d9544fbd4c27c33287b76bee30328830.tar.gz
ExtUtils::Install VMS extended character set support
Preview from https://rt.cpan.org/Ticket/Display.html?id=42149
Diffstat (limited to 'lib/ExtUtils/t')
-rw-r--r--lib/ExtUtils/t/INST.t25
-rw-r--r--lib/ExtUtils/t/INST_PREFIX.t27
2 files changed, 38 insertions, 14 deletions
diff --git a/lib/ExtUtils/t/INST.t b/lib/ExtUtils/t/INST.t
index 49938cb0d0..2a85f08e09 100644
--- a/lib/ExtUtils/t/INST.t
+++ b/lib/ExtUtils/t/INST.t
@@ -24,6 +24,8 @@ use File::Spec;
use TieOut;
use Config;
+my $Is_VMS = $^O eq 'VMS';
+
chdir 't';
perl_lib;
@@ -74,6 +76,7 @@ is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
my($perl_src, $mm_perl_src);
if( $ENV{PERL_CORE} ) {
$perl_src = File::Spec->catdir($Updir, $Updir);
+ $perl_src = VMS::Filespec::vmsify($perl_src) if $Is_VMS;
$perl_src = File::Spec->canonpath($perl_src);
$mm_perl_src = File::Spec->canonpath($mm->{PERL_SRC});
}
@@ -90,22 +93,28 @@ is( $mm->{PERM_RWX}, 755, 'PERM_RWX' );
# INST_*
+my $expect = File::Spec->catdir($Curdir, 'blib', 'arch');
+$expect = VMS::Filespec::vmspath($expect) if $Is_VMS;
is( $mm->{INST_ARCHLIB},
$mm->{PERL_CORE} ? $mm->{PERL_ARCHLIB}
- : File::Spec->catdir($Curdir, 'blib', 'arch'),
- 'INST_ARCHLIB');
-is( $mm->{INST_BIN}, File::Spec->catdir($Curdir, 'blib', 'bin'),
- 'INST_BIN' );
+ : $expect,
+ 'INST_ARCHLIB');
+$expect = File::Spec->catdir($Curdir, 'blib', 'bin');
+$expect = VMS::Filespec::vmspath($expect) if $Is_VMS;
+is( $mm->{INST_BIN}, $expect, 'INST_BIN' );
is( keys %{$mm->{CHILDREN}}, 1 );
my($child_pack) = keys %{$mm->{CHILDREN}};
my $c_mm = $mm->{CHILDREN}{$child_pack};
+$expect = File::Spec->catdir($Updir, 'blib', 'arch');
+$expect = VMS::Filespec::vmspath($expect) if $Is_VMS;
is( $c_mm->{INST_ARCHLIB},
$c_mm->{PERL_CORE} ? $c_mm->{PERL_ARCHLIB}
- : File::Spec->catdir($Updir, 'blib', 'arch'),
- 'CHILD INST_ARCHLIB');
-is( $c_mm->{INST_BIN}, File::Spec->catdir($Updir, 'blib', 'bin'),
- 'CHILD INST_BIN' );
+ : $expect,
+ 'CHILD INST_ARCHLIB');
+$expect = File::Spec->catdir($Updir, 'blib', 'bin');
+$expect = VMS::Filespec::vmspath($expect) if $Is_VMS;
+is( $c_mm->{INST_BIN}, $expect, 'CHILD INST_BIN' );
my $inst_lib = File::Spec->catdir($Curdir, 'blib', 'lib');
diff --git a/lib/ExtUtils/t/INST_PREFIX.t b/lib/ExtUtils/t/INST_PREFIX.t
index 57e7eb2cfc..1d580ddabb 100644
--- a/lib/ExtUtils/t/INST_PREFIX.t
+++ b/lib/ExtUtils/t/INST_PREFIX.t
@@ -103,6 +103,7 @@ is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
my($perl_src, $mm_perl_src);
if( $ENV{PERL_CORE} ) {
$perl_src = File::Spec->catdir($Updir, $Updir);
+ $perl_src = VMS::Filespec::vmsify($perl_src) if $Is_VMS;
$perl_src = File::Spec->canonpath($perl_src);
$mm_perl_src = File::Spec->canonpath($mm->{PERL_SRC});
}
@@ -153,6 +154,7 @@ while( my($type, $vars) = each %Install_Vars) {
_set_config(installman3dir => '');
my $wibble = File::Spec->catdir(qw(wibble and such));
+ $wibble = VMS::Filespec::vmspath($wibble) if $Is_VMS;
my $stdout = tie *STDOUT, 'TieOut' or die;
my $mm = WriteMakefile(
NAME => 'Big::Dummy',
@@ -187,7 +189,9 @@ while( my($type, $vars) = each %Install_Vars) {
INSTALLMAN3DIR=> 'foo/bar/baz',
);
- is( $mm->{INSTALLVENDORMAN1DIR}, File::Spec->catdir('foo','bar'),
+ my $expect = File::Spec->catdir('foo','bar');
+ $expect = VMS::Filespec::vmspath($expect) if $Is_VMS;
+ is( $mm->{INSTALLVENDORMAN1DIR}, $expect,
'installvendorman1dir (in %Config) not modified' );
isnt( $mm->{INSTALLVENDORMAN3DIR}, '',
'installvendorman3dir (not in %Config) set' );
@@ -212,9 +216,14 @@ while( my($type, $vars) = each %Install_Vars) {
VERSION_FROM => 'lib/Big/Dummy.pm',
PERL_CORE => $ENV{PERL_CORE},
);
-
- is( $mm->{INSTALLMAN1DIR}, File::Spec->catdir('foo', 'bar') );
- is( $mm->{INSTALLMAN3DIR}, File::Spec->catdir('foo', 'baz') );
+ my $expect1 = File::Spec->catdir('foo', 'bar');
+ my $expect2 = File::Spec->catdir('foo', 'baz');
+ if ($Is_VMS) {
+ $expect1 = VMS::Filespec::vmspath($expect1);
+ $expect2 = VMS::Filespec::vmspath($expect2);
+ }
+ is( $mm->{INSTALLMAN1DIR}, $expect1 );
+ is( $mm->{INSTALLMAN3DIR}, $expect2 );
SKIP: {
skip "VMS must expand macros in INSTALL* vars", 4 if $Is_VMS;
@@ -246,8 +255,14 @@ while( my($type, $vars) = each %Install_Vars) {
PERL_CORE => $ENV{PERL_CORE},
);
- is( $mm->{INSTALLMAN1DIR}, File::Spec->catdir('foo', 'bar') );
- is( $mm->{INSTALLMAN3DIR}, File::Spec->catdir('foo', 'baz') );
+ my $expect1 = File::Spec->catdir('foo', 'bar');
+ my $expect2 = File::Spec->catdir('foo', 'baz');
+ if ($Is_VMS) {
+ $expect1 = VMS::Filespec::vmspath($expect1);
+ $expect2 = VMS::Filespec::vmspath($expect2);
+ }
+ is( $mm->{INSTALLMAN1DIR}, $expect1 );
+ is( $mm->{INSTALLMAN3DIR}, $expect2 );
SKIP: {
skip "VMS must expand macros in INSTALL* vars", 2 if $Is_VMS;
is( $mm->{INSTALLSITEMAN1DIR}, '$(INSTALLMAN1DIR)' );