X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2Fdbixcsl_test_dir.pm;h=f40af8b68efb2d42b7c317f415a0f1f79264c348;hb=48d580c8bd59d534a55973026b9ca20e6b70bc5f;hp=39d02b05eee227473754c2f5f2855798e6794c7d;hpb=36c8c37c10fbb9a3f6578a8df14cd6cde1bb774f;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/lib/dbixcsl_test_dir.pm b/t/lib/dbixcsl_test_dir.pm index 39d02b0..f40af8b 100644 --- a/t/lib/dbixcsl_test_dir.pm +++ b/t/lib/dbixcsl_test_dir.pm @@ -3,22 +3,25 @@ package dbixcsl_test_dir; use strict; use warnings; use File::Path 'rmtree'; +use File::Temp 'tempdir'; use Scalar::Util 'weaken'; use namespace::clean; use DBI (); -our $tdir = 't/var'; - use base qw/Exporter/; our @EXPORT_OK = '$tdir'; die "/t does not exist, this can't be right...\n" unless -d 't'; -unless (-d $tdir) { - mkdir $tdir or die "Unable to create $tdir: $!\n"; +my $tbdir = 't/var'; + +unless (-d $tbdir) { + mkdir $tbdir or die "Unable to create $tbdir: $!\n"; } +our $tdir = tempdir(DIR => $tbdir); + # We need to disconnect all active DBI handles before deleting the directory, # otherwise the SQLite .db files cannot be deleted on Win32 (file in use) since # END does not run in any sort of order. @@ -42,7 +45,8 @@ END { $dbh->disconnect if $dbh; } - rmtree($tdir, 1, 1) + rmtree($tdir, 1, 1); + rmdir($tbdir); # remove if empty, ignore otherwise } }