X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fblib.t;h=b6df9e8d2b95b3efd46e5c56243f1c14f9045f8b;hb=c74ace89800a81a764294e9f6eacc04bbed5a568;hp=bb269c443f5fe98ff7fb47ed48acf3dd8820405f;hpb=4940c44306f1533e993cbca6152c66067eca02ca;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/blib.t b/lib/blib.t index bb269c4..b6df9e8 100644 --- a/lib/blib.t +++ b/lib/blib.t @@ -6,10 +6,12 @@ BEGIN { } use strict; +use File::Spec; +my($blib, $blib_arch, $blib_lib, @blib_dirs); sub _cleanup { - rmdir foreach reverse qw(blib blib/arch blib/lib); - unlink "stderr"; + rmdir foreach reverse (@_); + unlink "stderr" unless $^O eq 'MacOS'; } sub _mkdirs { @@ -20,26 +22,56 @@ sub _mkdirs { } -BEGIN { _cleanup } +BEGIN { + if ($^O eq 'MacOS') + { + $MacPerl::Architecture = $MacPerl::Architecture; # shhhhh + $blib = ":blib:"; + $blib_lib = ":blib:lib:"; + $blib_arch = ":blib:lib:$MacPerl::Architecture:"; + @blib_dirs = ($blib, $blib_lib, $blib_arch); # order + } + else + { + $blib = "blib"; + $blib_arch = "blib/arch"; + $blib_lib = "blib/lib"; + @blib_dirs = ($blib, $blib_arch, $blib_lib); + } + _cleanup( @blib_dirs ); +} use Test::More tests => 7; eval 'use blib;'; ok( $@ =~ /Cannot find blib/, 'Fails if blib directory not found' ); -_mkdirs(qw(blib blib/arch blib/lib)); +_mkdirs( @blib_dirs ); { my $warnings = ''; local $SIG{__WARN__} = sub { $warnings = join '', @_ }; use_ok('blib'); - is( $warnings, '', 'use blib is niiiice and quiet' ); + is( $warnings, '', 'use blib is nice and quiet' ); } is( @INC, 3, '@INC now has 3 elements' ); is( $INC[2], '../lib', 'blib added to the front of @INC' ); -ok( grep(m|blib/lib$|, @INC[0,1]) == 1, ' blib/lib in @INC'); -ok( grep(m|blib/arch$|, @INC[0,1]) == 1, ' blib/arch in @INC'); +if ($^O eq 'VMS') { + # Unix syntax is accepted going in but it's not what comes out + # So we don't use catdir above + $blib_arch = 'blib.arch]'; + $blib_lib = 'blib.lib]'; +} +elsif ($^O ne 'MacOS') +{ + $blib_arch = File::Spec->catdir("blib","arch"); + $blib_lib = File::Spec->catdir("blib","lib"); +} + + +ok( grep(m|\Q$blib_lib\E$|, @INC[0,1]) == 1, " $blib_lib in \@INC"); +ok( grep(m|\Q$blib_arch\E$|, @INC[0,1]) == 1, " $blib_arch in \@INC"); -END { _cleanup(); } +END { _cleanup( @blib_dirs ); }