From: Jarkko Hietaniemi Date: Wed, 5 Jun 2002 00:07:15 +0000 (+0000) Subject: Integrate macperl changes #16974 and #16975; X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=5b86572164387fde73051a7dd9281f0f2dbcc081;p=p5sagit%2Fp5-mst-13.2.git Integrate macperl changes #16974 and #16975; nativize() isn't happy with absolute Mac paths Test::Harness test fixes, attempt #3 :-) p4raw-link: @16974 on //depot/macperl: 594896ac796bb1aa12d08048b3e095be1cebc16d p4raw-id: //depot/perl@16989 p4raw-integrated: from //depot/macperl@16987 'copy in' ext/DynaLoader/DynaLoader_pm.PL (@16929..) lib/ExtUtils/MM_MacOS.pm (@16938..) lib/Test/Harness/t/callback.t lib/Test/Harness/t/strap-analyze.t lib/Test/Harness/t/test-harness.t lib/lib_pm.PL (@16968..) --- diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL index 8c44b40..f442579 100644 --- a/ext/DynaLoader/DynaLoader_pm.PL +++ b/ext/DynaLoader/DynaLoader_pm.PL @@ -254,7 +254,7 @@ sub bootstrap { my $dir; if ($Is_MacOS) { my $path = $_; - if ($Mac_FS) { + if ($Mac_FS && ! -d $path) { $path = Mac::FileSpec::Unixish::nativize($path); } $path .= ":" unless /:$/; diff --git a/lib/ExtUtils/MM_MacOS.pm b/lib/ExtUtils/MM_MacOS.pm index af4a0d6..71eb969 100644 --- a/lib/ExtUtils/MM_MacOS.pm +++ b/lib/ExtUtils/MM_MacOS.pm @@ -242,22 +242,19 @@ Translate relative path names into Mac names. =cut sub macify { - # mmm, better ... and this condition should always be satisified, - # as the module is now distributed with MacPerl, but leave in anyway - if ($Mac_FS) { - return Mac::FileSpec::Unixish::nativize($_[0]); - } - my($unix) = @_; my(@mac); - $unix =~ s|^\./||; - foreach (split(/[ \t\n]+/, $unix)) { if (m|/|) { - $_ = ":$_"; - s|/|:|g; - } + if ($Mac_FS) { # should always be true + $_ = Mac::FileSpec::Unixish::nativize($_); + } else { + s|^\./||; + s|/|:|g; + $_ = ":$_"; + } + } push(@mac, $_); } diff --git a/lib/Test/Harness/t/callback.t b/lib/Test/Harness/t/callback.t index eeea1e4..74b2fe9 100644 --- a/lib/Test/Harness/t/callback.t +++ b/lib/Test/Harness/t/callback.t @@ -57,7 +57,7 @@ $SAMPLE_TESTS = VMS::Filespec::unixify($SAMPLE_TESTS) if $^O eq 'VMS'; while( my($test, $expect) = each %samples ) { local @out = (); - $strap->analyze_file($^O eq 'macos' ? + $strap->analyze_file($^O eq 'MacOS' ? catfile($SAMPLE_TESTS, $test) : "$SAMPLE_TESTS/$test"); diff --git a/lib/Test/Harness/t/strap-analyze.t b/lib/Test/Harness/t/strap-analyze.t index 30d363d..c3e3d1e 100644 --- a/lib/Test/Harness/t/strap-analyze.t +++ b/lib/Test/Harness/t/strap-analyze.t @@ -466,7 +466,7 @@ while( my($test, $expect) = each %samples ) { } my $strap = Test::Harness::Straps->new; - my %results = $strap->analyze_file($^O eq 'macos' ? + my %results = $strap->analyze_file($^O eq 'MacOS' ? catfile($SAMPLE_TESTS, $test) : "$SAMPLE_TESTS/$test"); diff --git a/lib/Test/Harness/t/test-harness.t b/lib/Test/Harness/t/test-harness.t index 3cb0abb..1e9f58d 100644 --- a/lib/Test/Harness/t/test-harness.t +++ b/lib/Test/Harness/t/test-harness.t @@ -433,7 +433,7 @@ while (my($test, $expect) = each %samples) { select NULL; # _run_all_tests() isn't as quiet as it should be. local $SIG{__WARN__} = sub { $warning .= join '', @_; }; ($totals, $failed) = - Test::Harness::_run_all_tests($^O eq 'macos' ? + Test::Harness::_run_all_tests($^O eq 'MacOS' ? catfile($SAMPLE_TESTS, $test) : "$SAMPLE_TESTS/$test"); }; @@ -453,7 +453,7 @@ while (my($test, $expect) = each %samples) { is_deeply( {map { $_=>$totals->{$_} } keys %{$expect->{total}}}, $expect->{total}, "$test - totals" ); - is_deeply( {map { $_=>$failed->{$^O eq 'macos' ? + is_deeply( {map { $_=>$failed->{$^O eq 'MacOS' ? catfile($SAMPLE_TESTS, $test) : "$SAMPLE_TESTS/$test"}{$_} } keys %{$expect->{failed}}}, diff --git a/lib/lib_pm.PL b/lib/lib_pm.PL index 8e94906..6c9ab05 100644 --- a/lib/lib_pm.PL +++ b/lib/lib_pm.PL @@ -149,7 +149,7 @@ sub _get_dirs { sub _nativize { my($dir) = @_; - if ($Is_MacOS && $Mac_FS) { + if ($Is_MacOS && $Mac_FS && ! -d $dir) { $dir = Mac::FileSpec::Unixish::nativize($dir); $dir .= ":" unless $dir =~ /:$/; }