diff options
Diffstat (limited to 'cpan/Module-Metadata/t/lib')
-rw-r--r-- | cpan/Module-Metadata/t/lib/GeneratePackage.pm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/cpan/Module-Metadata/t/lib/GeneratePackage.pm b/cpan/Module-Metadata/t/lib/GeneratePackage.pm index dd48aab5fd..2a910f89bf 100644 --- a/cpan/Module-Metadata/t/lib/GeneratePackage.pm +++ b/cpan/Module-Metadata/t/lib/GeneratePackage.pm @@ -17,18 +17,21 @@ BEGIN { sub _original_cwd { return $cwd } } +my @tmpdirs; sub tmpdir { my (@args) = @_; - File::Temp::tempdir( + my $tmpdir = File::Temp::tempdir( 'MMD-XXXXXXXX', CLEANUP => 0, DIR => ($ENV{PERL_CORE} ? _original_cwd : File::Spec->tmpdir), @args, ); + Test::More::note "using temp dir $tmpdir"; + push @tmpdirs, $tmpdir; + return $tmpdir; } my $tmp; -BEGIN { $tmp = tmpdir; Test::More::note "using temp dir $tmp"; } sub generate_file { my ($dir, $rel_filename, $content) = @_; @@ -48,9 +51,11 @@ sub generate_file { END { die "tests failed; leaving temp dir $tmp behind" if $ENV{AUTHOR_TESTING} and not Test::Builder->new->is_passing; - Test::More::note "removing temp dir $tmp"; chdir _original_cwd; - File::Path::rmtree($tmp); + foreach my $tmp (@tmpdirs) { + Test::More::note "removing temp dir $tmp"; + File::Path::rmtree($tmp); + } } 1; |