Fixed deadlock test
Peter Rabbitson [Wed, 1 Jul 2009 06:46:12 +0000 (06:46 +0000)]
lib/DBIx/Class/Storage/DBI/mysql.pm
t/zzzzzzz_sqlite_deadlock.t

index 53b8e16..9c21dfd 100644 (file)
@@ -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};
index 080d31c..e48baa2 100644 (file)
@@ -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;