X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fzzzzzzz_sqlite_deadlock.t;h=6a38d2c23b4b8ef9e816cc3238d4aebddc123e86;hb=67341081b1a57cc8549e51a8fb1b8cd4661543c5;hp=268fdaac5b8eb0c6cdaacb5985685aa7f54127af;hpb=48d2c1ea89b1346f1a77f76b9bdedea432021fa0;p=dbsrgits%2FDBIx-Class.git diff --git a/t/zzzzzzz_sqlite_deadlock.t b/t/zzzzzzz_sqlite_deadlock.t index 268fdaa..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 (); +if ( DBICTest::RunMode->is_plain ) { + plan( skip_all => "Skipping test on plain module install" ); +} + +use Test::Exception; use DBICTest; -use DBICTest::Schema; +use File::Temp (); plan tests => 2; -my $wait_for = 10; # how many seconds to wait +my $wait_for = 120; # how many seconds to wait -$TODO = "This seems to be a DBD::SQLite problem, don't test for now"; +# 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); });