diff options
author | John Malmberg <wb8tyw@gmail.com> | 2009-02-15 09:25:10 -0600 |
---|---|---|
committer | Craig A. Berry <craigberry@mac.com> | 2009-02-15 09:37:24 -0600 |
commit | 3d55b451d9544fbd4c27c33287b76bee30328830 (patch) | |
tree | 02afa4ad1d9488a1638a37e6d4a69d33195e56d7 /lib/ExtUtils/t | |
parent | e28f3139a63672a86833f04e78c6d3b42814350b (diff) | |
download | perl-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.t | 25 | ||||
-rw-r--r-- | lib/ExtUtils/t/INST_PREFIX.t | 27 |
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)' ); |