From 25a233e53cae579f3b069fc98ccc1563fc3f4ce1 Mon Sep 17 00:00:00 2001
From: sun <sun@unleashedmind.com>
Date: Fri, 8 Aug 2014 21:53:28 +0200
Subject: [PATCH] Temporarily use SQLite in Database KTB tests to expose
 errors.

---
 core/modules/simpletest/src/KernelTestBase.php     |  2 +-
 .../system/src/Tests/Database/DatabaseTestBase.php | 29 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/core/modules/simpletest/src/KernelTestBase.php b/core/modules/simpletest/src/KernelTestBase.php
index 616d064..5f32154 100644
--- a/core/modules/simpletest/src/KernelTestBase.php
+++ b/core/modules/simpletest/src/KernelTestBase.php
@@ -257,7 +257,7 @@ public function containerBuild(ContainerBuilder $container) {
 
     $container
       ->register('config.storage.active', 'Drupal\Core\Config\DatabaseStorage')
-      ->addArgument(Database::getConnection())
+      ->addArgument(new Reference('database'))
       ->addArgument('config');
 
     $this->settingsSet('keyvalue_default', 'keyvalue.memory');
diff --git a/core/modules/system/src/Tests/Database/DatabaseTestBase.php b/core/modules/system/src/Tests/Database/DatabaseTestBase.php
index da14f5c..9bf590b 100644
--- a/core/modules/system/src/Tests/Database/DatabaseTestBase.php
+++ b/core/modules/system/src/Tests/Database/DatabaseTestBase.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\system\Tests\Database;
 
+use Drupal\Core\Database\Database;
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
@@ -19,8 +20,30 @@
 
   public static $modules = array('database_test');
 
+  /**
+   * @var string
+   */
+  protected $sqliteDb;
+
   function setUp() {
     parent::setUp();
+
+    Database::removeConnection('default');
+    $this->container->set('database', NULL);
+    $this->container->set('config.storage.active', NULL);
+    $this->sqliteDb = tempnam(sys_get_temp_dir(), 'test-sqlite');
+    Database::addConnectionInfo('default', 'default', array(
+      'driver' => 'sqlite',
+      'namespace' => 'Drupal\Core\Database\Driver\sqlite',
+      'host' => '',
+      'database' => $this->sqliteDb,
+      'username' => '',
+      'password' => '',
+      'prefix' => array(
+        'default' => '',
+      ),
+    ));
+
     $this->installSchema('database_test', array(
       'test',
       'test_people',
@@ -34,6 +57,12 @@ function setUp() {
     self::addSampleData();
   }
 
+  protected function tearDown() {
+    parent::tearDown();
+    @unlink($this->sqliteDb);
+    unset($this->sqliteDb);
+  }
+
   /**
    * Sets up tables for NULL handling.
    */
-- 
1.7.11.msysgit.1

