}
use Path::Class qw/file dir/;
+use File::Spec;
_check_author_makefile() unless $ENV{DBICTEST_NO_MAKEFILE_VERIFICATION};
+# PathTools has a bug where on MSWin32 it will often return / as a tmpdir.
+# This is *really* stupid and the result of having our lockfiles all over
+# the place is also rather obnoxious. So we use our own heuristics instead
+# https://rt.cpan.org/Ticket/Display.html?id=76663
+my $tmpdir;
+sub tmpdir {
+ dir ($tmpdir ||= do {
+
+ my $dir = dir(File::Spec->tmpdir);
+
+ my @parts = File::Spec->splitdir($dir);
+ if (@parts == 2 and $parts[1] eq '') {
+ # This means we were give the root dir (C:\ or something equally unacceptable)
+ # Replace with our local project tmpdir. This will make multiple runs
+ # from different runs conflict with each other, but is much better than
+ # polluting the root dir with random crap
+ $dir = _find_co_root()->subdir('t')->subdir('var');
+ $dir->mkpath;
+ }
+
+ $dir->stringify;
+ });
+}
+
+
# Die if the author did not update his makefile
#
# This is pretty heavy handed, so the check is pretty solid:
}
}
-sub peepeeness {
- return ! $ENV{DBICTEST_ALL_LEAKS} if defined $ENV{DBICTEST_ALL_LEAKS};
-
- # don't smoke perls with known issues:
- if (__PACKAGE__->is_smoker) {
- if ($] == '5.013006') {
- # leaky 5.13.6 (fixed in blead/cefd5c7c)
- return 1;
- }
- elsif ($] == '5.013005') {
- # not sure why this one leaks, but disable anyway - ANDK seems to make it weep
- return 1;
- }
- }
-
- return 0;
-}
-
# Mimic $Module::Install::AUTHOR
sub is_author {