use Config;
use local::lib ();
+use lib 't/lib'; use TempDir;
+
# remember the original value of this, in case we are already running inside a
# local::lib
my $orig_llr = $ENV{PERL_LOCAL_LIB_ROOT} || '';
+$orig_llr = '' if $orig_llr eq $Config{path_sep};
-my $dir1 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
-my $dir2 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
-my $dir3 = tempdir('test_local_lib-XXXXX', DIR => Cwd::abs_path('t'), CLEANUP => 1);
+my $dir1 = mk_temp_dir('test_local_lib-XXXXX');
+my $dir2 = mk_temp_dir('test_local_lib-XXXXX');
+my $dir3 = mk_temp_dir('test_local_lib-XXXXX');
ok(!(grep { $dir1 eq $_ } @INC), 'new dir is not already in @INC');
ok(!(grep { $dir1 eq $_ } split /\Q$Config{path_sep}\E/, ($ENV{PERL5LIB}||'')), 'new dir is not already in PERL5LIB');
is(
$ENV{PERL_LOCAL_LIB_ROOT},
- join($Config{path_sep}, (grep { $_ } $orig_llr, $dir2, $dir1)),
- 'dir1 should have been removed and added back in at the top',
+ join($Config{path_sep}, (grep { defined $_ and $_ ne '' } $orig_llr, $dir2, $dir1)),
+ 'dir1 should have been removed and added back in at the top (PERL_LOCAL_LIB_ROOT was ' . $orig_llr . ')',
);
ok((grep { /\Q$dir1\E/ } @INC), 'new dir has been added to @INC');