Some stylistic test changes in preparation for next commits
[dbsrgits/DBIx-Class.git] / t / lib / DBICTest.pm
index a3b5f2f..f2b2773 100644 (file)
@@ -143,6 +143,7 @@ END {
 
 $SIG{INT} = sub { _cleanup_dbfile(); exit 1 };
 
+my $need_global_cleanup;
 sub _cleanup_dbfile {
     # cleanup if this is us
     if (
@@ -152,6 +153,10 @@ sub _cleanup_dbfile {
         or
       $ENV{DBICTEST_LOCK_HOLDER} == $$
     ) {
+        if ($need_global_cleanup and my $dbh = DBICTest->schema->storage->_dbh) {
+          $dbh->disconnect;
+        }
+
         my $db_file = _sqlite_dbfilename();
         unlink $_ for ($db_file, "${db_file}-journal");
     }
@@ -315,9 +320,12 @@ sub init_schema {
 
     my $schema;
 
+    my @dsn = $self->_database(%args);
+
     if ($args{compose_connection}) {
+      $need_global_cleanup = 1;
       $schema = DBICTest::Schema->compose_connection(
-                  'DBICTest', $self->_database(%args)
+                  'DBICTest', @dsn
                 );
     } else {
       $schema = DBICTest::Schema->compose_namespace('DBICTest');
@@ -328,7 +336,7 @@ sub init_schema {
     }
 
     if ( !$args{no_connect} ) {
-      $schema = $schema->connect($self->_database(%args));
+      $schema->connection(@dsn);
     }
 
     if ( !$args{no_deploy} ) {