Integrate macperl patch #16868.
[p5sagit/p5-mst-13.2.git] / lib / blib.t
CommitLineData
a635c943 1#!./perl -Tw
2
3BEGIN {
4 chdir 't' if -d 't';
5 @INC = '../lib';
6}
7
8use strict;
e69a2255 9my($blib, $blib_arch, $blib_lib, @blib_dirs);
a635c943 10
11sub _cleanup {
e69a2255 12 rmdir foreach reverse (@_);
13 unlink "stderr" unless $^O eq 'MacOS';
a635c943 14}
15
16sub _mkdirs {
17 for my $dir (@_) {
18 next if -d $dir;
19 mkdir $dir or die "Can't mkdir $dir: $!" if ! -d $dir;
20 }
21}
22
23
e69a2255 24BEGIN {
25 if ($^O eq 'MacOS')
26 {
27 $blib = ":blib:";
28 $blib_lib = ":blib:lib:";
29 $blib_arch = ":blib:lib:$MacPerl::Architecture:";
30 @blib_dirs = ($blib, $blib_lib, $blib_arch); # order
31 }
32 else
33 {
34 $blib = "blib";
35 $blib_arch = "blib/arch";
36 $blib_lib = "blib/lib";
37 @blib_dirs = ($blib, $blib_arch, $blib_lib);
38 }
39 _cleanup( @blib_dirs );
40}
a635c943 41
42use Test::More tests => 7;
43
44eval 'use blib;';
45ok( $@ =~ /Cannot find blib/, 'Fails if blib directory not found' );
46
e69a2255 47_mkdirs( @blib_dirs );
a635c943 48
49{
4940c443 50 my $warnings = '';
a635c943 51 local $SIG{__WARN__} = sub { $warnings = join '', @_ };
52 use_ok('blib');
53 is( $warnings, '', 'use blib is niiiice and quiet' );
54}
55
56is( @INC, 3, '@INC now has 3 elements' );
57is( $INC[2], '../lib', 'blib added to the front of @INC' );
58
e69a2255 59ok( grep(m|$blib_lib$|, @INC[0,1]) == 1, ' blib/lib in @INC');
60ok( grep(m|$blib_arch$|, @INC[0,1]) == 1, ' blib/arch in @INC');
a635c943 61
e69a2255 62END { _cleanup( @blib_dirs ); }