fix up old changelog entry
[p5sagit/local-lib.git] / t / lib / TempDir.pm
1 package TempDir;
2 use strict;
3 use warnings;
4
5 use base 'Exporter';
6 our @EXPORT = qw(mk_temp_dir);
7
8 use local::lib ();
9 use Cwd;
10 use File::Temp qw(tempdir);
11
12 $File::Temp::KEEP_ALL = 1
13   if $ENV{LOCAL_LIB_TEST_DEBUG};
14
15 sub mk_temp_dir
16 {
17     my $name_template = shift;
18
19     mkdir 't/temp';
20     my $path = tempdir($name_template, DIR => Cwd::abs_path('t/temp'), CLEANUP => 1);
21     local::lib->ensure_dir_structure_for($path);
22     # On Win32 the path where the distribution is built usually contains
23     # spaces. This is a problem for some parts of the CPAN toolchain, so
24     # local::lib uses the GetShortPathName trick do get an alternate
25     # representation of the path that doesn't constain spaces.
26     return ($^O eq 'MSWin32')
27          ? Win32::GetShortPathName($path)
28          : $path
29 }
30
31 1;