the design for proper documentation and opening up)
- Adjust exceptions in tests to accommodate changes in the upcoming
DBD::SQLite based on libsqlite 3.8.2
+ - More robust lock file naming scheme - allow tests to work on exotic
+ MSWin32 filesystems (habitual offender being http://is.gd/iy5XVP)
- Better diagnostics when File::Spec->tmpdir gives us crap in testing
- Replace $row with $result in all docs to be consistent and to
clarify various return values
sub import {
my $self = shift;
- my $tmpdir = DBICTest::RunMode->tmpdir;
- my $lockpath = $tmpdir->file('.dbictest_global.lock');
+ my $lockpath = DBICTest::RunMode->tmpdir->file('_dbictest_global.lock');
{
my $u = local_umask(0); # so that the file opens as 666, and any user can lock
use Fcntl ':DEFAULT';
use File::Spec ();
use File::Temp ();
+use DBICTest::Util 'local_umask';
_check_author_makefile() unless $ENV{DBICTEST_NO_MAKEFILE_VERIFICATION};
else {
# make sure we can actually create and sysopen a file in this dir
local $@;
+ my $u = local_umask(0); # match the umask we use in DBICTest(::Schema)
my $tempfile = '<NONCREATABLE>';
eval {
$tempfile = File::Temp->new(
} or do {
chomp( my $err = $@ );
my @x_tests = map { (defined $_) ? ( $_ ? 1 : 0 ) : 'U' } map {(-e, -d, -f, -r, -w, -x, -o)} ("$dir", "$tempfile");
- $reason_dir_unusable = sprintf <<"EOE", "$tempfile"||'', $err, scalar $>, scalar $), (stat($dir))[4,5,2], @x_tests;
+ $reason_dir_unusable = sprintf <<"EOE", "$tempfile"||'', $err, scalar $>, scalar $), umask(), (stat($dir))[4,5,2], @x_tests;
File::Spec->tmpdir returned a directory which appears to be non-writeable:
Error encountered while testing '%s': %s
Process EUID/EGID: %s / %s
+Effective umask: %o
TmpDir UID/GID: %s / %s
TmpDir StatMode: %o
TmpDir X-tests: -e:%s -d:%s -f:%s -r:%s -w:%s -x:%s -o:%s
# which is fine since the type does not match as checked above
undef $locker;
- my $lockpath = DBICTest::RunMode->tmpdir->file(".dbictest_$locktype.lock");
+ my $lockpath = DBICTest::RunMode->tmpdir->file("_dbictest_$locktype.lock");
#warn "$$ $0 $locktype GRABBING LOCK";
my $lock_fh;