X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fzzzzzzz_sqlite_deadlock.t;h=6a38d2c23b4b8ef9e816cc3238d4aebddc123e86;hb=8d6b1478d;hp=080d31cf1e4f6ebede7ff7e70fb2f89bb3bea238;hpb=6914a192411468bb5c27368c661ef754cb856712;p=dbsrgits%2FDBIx-Class.git diff --git a/t/zzzzzzz_sqlite_deadlock.t b/t/zzzzzzz_sqlite_deadlock.t index 080d31c..6a38d2c 100644 --- a/t/zzzzzzz_sqlite_deadlock.t +++ b/t/zzzzzzz_sqlite_deadlock.t @@ -2,21 +2,34 @@ use strict; use warnings; use Test::More; -use Test::Exception; + use lib 't/lib'; +use DBICTest::RunMode; -use File::Temp (); -use DBICTest; -use DBICTest::Schema; +if ( DBICTest::RunMode->is_plain ) { + plan( skip_all => "Skipping test on plain module install" ); +} -plan skip_all => 'Fails on mac os *only*. Devs notified. Do not enable.'; +use Test::Exception; +use DBICTest; +use File::Temp (); plan tests => 2; -my $wait_for = 10; # how many seconds to wait +my $wait_for = 120; # how many seconds to wait + +# don't lock anything - this is a tempfile anyway +$ENV{DBICTEST_LOCK_HOLDER} = -1; for my $close (0,1) { - my $tmp = File::Temp->new( UNLINK => 1, TMPDIR => 1, SUFFIX => '.sqlite' ); + my $tmp = File::Temp->new( + UNLINK => 1, + DIR => 't/var', + SUFFIX => '.db', + TEMPLATE => 'DBIxClass-XXXXXX', + EXLOCK => 0, # important for BSD and derivatives + ); + my $tmp_fn = $tmp->filename; close $tmp if $close; @@ -29,6 +42,7 @@ for my $close (0,1) { lives_ok (sub { my $schema = DBICTest::Schema->connect ("DBI:SQLite:$tmp_fn"); + $schema->storage->dbh_do(sub { $_[1]->do('PRAGMA synchronous = OFF') }); DBICTest->deploy_schema ($schema); DBICTest->populate_schema ($schema); });