This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to ExtUtils::MakeMaker 6.01.
[perl5.git] / lib / blib.t
CommitLineData
a635c943
MS
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
MS
10
11sub _cleanup {
e69a2255
JH
12 rmdir foreach reverse (@_);
13 unlink "stderr" unless $^O eq 'MacOS';
a635c943
MS
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
JH
24BEGIN {
25 if ($^O eq 'MacOS')
26 {
16398b42 27 $MacPerl::Architecture = $MacPerl::Architecture; # shhhhh
e69a2255
JH
28 $blib = ":blib:";
29 $blib_lib = ":blib:lib:";
30 $blib_arch = ":blib:lib:$MacPerl::Architecture:";
31 @blib_dirs = ($blib, $blib_lib, $blib_arch); # order
32 }
33 else
34 {
35 $blib = "blib";
36 $blib_arch = "blib/arch";
37 $blib_lib = "blib/lib";
38 @blib_dirs = ($blib, $blib_arch, $blib_lib);
39 }
40 _cleanup( @blib_dirs );
41}
a635c943
MS
42
43use Test::More tests => 7;
44
45eval 'use blib;';
46ok( $@ =~ /Cannot find blib/, 'Fails if blib directory not found' );
47
e69a2255 48_mkdirs( @blib_dirs );
a635c943
MS
49
50{
4940c443 51 my $warnings = '';
a635c943
MS
52 local $SIG{__WARN__} = sub { $warnings = join '', @_ };
53 use_ok('blib');
54 is( $warnings, '', 'use blib is niiiice and quiet' );
55}
56
57is( @INC, 3, '@INC now has 3 elements' );
58is( $INC[2], '../lib', 'blib added to the front of @INC' );
59
e69a2255
JH
60ok( grep(m|$blib_lib$|, @INC[0,1]) == 1, ' blib/lib in @INC');
61ok( grep(m|$blib_arch$|, @INC[0,1]) == 1, ' blib/arch in @INC');
a635c943 62
e69a2255 63END { _cleanup( @blib_dirs ); }