From: Peter Rabbitson Date: Wed, 1 Jul 2009 06:46:12 +0000 (+0000) Subject: Fixed deadlock test X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=f86589ef2338e26895ae618238a609806b57cd4f;p=dbsrgits%2FDBIx-Class-Historic.git Fixed deadlock test --- diff --git a/lib/DBIx/Class/Storage/DBI/mysql.pm b/lib/DBIx/Class/Storage/DBI/mysql.pm index 53b8e16..9c21dfd 100644 --- a/lib/DBIx/Class/Storage/DBI/mysql.pm +++ b/lib/DBIx/Class/Storage/DBI/mysql.pm @@ -15,6 +15,12 @@ sub with_deferred_fk_checks { $self->dbh->do('SET foreign_key_checks=1'); } +sub connect_call_set_ansi_mode { + my $self = shift; + $self->dbh->do(q|SET sql_mode = 'ANSI,TRADITIONAL'|); + $self->dbh->do(q|SET sql_mode = 'ANSI,TRADITIONAL'|); +} + sub _dbh_last_insert_id { my ($self, $dbh, $source, $col) = @_; $dbh->{mysql_insertid}; diff --git a/t/zzzzzzz_sqlite_deadlock.t b/t/zzzzzzz_sqlite_deadlock.t index 080d31c..e48baa2 100644 --- a/t/zzzzzzz_sqlite_deadlock.t +++ b/t/zzzzzzz_sqlite_deadlock.t @@ -9,14 +9,18 @@ use File::Temp (); use DBICTest; use DBICTest::Schema; -plan skip_all => 'Fails on mac os *only*. Devs notified. Do not enable.'; - plan tests => 2; my $wait_for = 10; # how many seconds to wait for my $close (0,1) { - my $tmp = File::Temp->new( UNLINK => 1, TMPDIR => 1, SUFFIX => '.sqlite' ); + my $tmp = File::Temp->new( + UNLINK => 1, + TMPDIR => 1, + SUFFIX => '.sqlite', + EXLOCK => 0, # important for BSD and derivatives + ); + my $tmp_fn = $tmp->filename; close $tmp if $close; @@ -30,7 +34,7 @@ for my $close (0,1) { lives_ok (sub { my $schema = DBICTest::Schema->connect ("DBI:SQLite:$tmp_fn"); DBICTest->deploy_schema ($schema); - DBICTest->populate_schema ($schema); + #DBICTest->populate_schema ($schema); }); alarm 0;