Commit | Line | Data |
---|---|---|
a635c943 MS |
1 | #!./perl -Tw |
2 | ||
3 | BEGIN { | |
4 | chdir 't' if -d 't'; | |
5 | @INC = '../lib'; | |
6 | } | |
7 | ||
8 | use strict; | |
e69a2255 | 9 | my($blib, $blib_arch, $blib_lib, @blib_dirs); |
a635c943 MS |
10 | |
11 | sub _cleanup { | |
e69a2255 JH |
12 | rmdir foreach reverse (@_); |
13 | unlink "stderr" unless $^O eq 'MacOS'; | |
a635c943 MS |
14 | } |
15 | ||
16 | sub _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 |
24 | BEGIN { |
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 | |
43 | use Test::More tests => 7; | |
44 | ||
45 | eval 'use blib;'; | |
46 | ok( $@ =~ /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 | ||
57 | is( @INC, 3, '@INC now has 3 elements' ); | |
58 | is( $INC[2], '../lib', 'blib added to the front of @INC' ); | |
59 | ||
e69a2255 JH |
60 | ok( grep(m|$blib_lib$|, @INC[0,1]) == 1, ' blib/lib in @INC'); |
61 | ok( grep(m|$blib_arch$|, @INC[0,1]) == 1, ' blib/arch in @INC'); | |
a635c943 | 62 | |
e69a2255 | 63 | END { _cleanup( @blib_dirs ); } |