From f05c080ec3dc724929b6836ca4cfbea1aab36f0a Mon Sep 17 00:00:00 2001
From: diosmosis <benakamoorthi@fastmail.fm>
Date: Wed, 12 Mar 2014 21:49:24 +0000
Subject: [PATCH] Refs #2935, fixing Installation UI test.

---
 tests/PHPUnit/TestingEnvironment.php          | 34 ++++++++++---------
 tests/PHPUnit/UI                              |  2 +-
 .../support/test-environment.js               |  9 ++++-
 3 files changed, 27 insertions(+), 18 deletions(-)

diff --git a/tests/PHPUnit/TestingEnvironment.php b/tests/PHPUnit/TestingEnvironment.php
index fe9129cf16..bc201b9c38 100644
--- a/tests/PHPUnit/TestingEnvironment.php
+++ b/tests/PHPUnit/TestingEnvironment.php
@@ -103,32 +103,34 @@ class Piwik_TestingEnvironment
             }
         }
 
+        \Piwik\CacheFile::$invalidateOpCacheBeforeRead = true;
+
         Piwik::addAction('Access.createAccessSingleton', function($access) use ($testingEnvironment) {
             if (!$testingEnvironment->testUseRegularAuth) {
                 $access = new Piwik_MockAccess($access);
                 \Piwik\Access::setSingletonInstance($access);
             }
         });
-        Piwik::addAction('Config.createConfigSingleton', function($config) use ($testingEnvironment) {
-            \Piwik\CacheFile::$invalidateOpCacheBeforeRead = true;
-
-            $config->setTestEnvironment();
+        if (!$testingEnvironment->dontUseTestConfig) {
+            Piwik::addAction('Config.createConfigSingleton', function($config) use ($testingEnvironment) {
+                $config->setTestEnvironment();
 
-            $manager = \Piwik\Plugin\Manager::getInstance();
-            $pluginsToLoad = $manager->getPluginsToLoadDuringTests();
-            $config->Plugins = array('Plugins' => $pluginsToLoad);
+                $manager = \Piwik\Plugin\Manager::getInstance();
+                $pluginsToLoad = $manager->getPluginsToLoadDuringTests();
+                $config->Plugins = array('Plugins' => $pluginsToLoad);
 
-            $trackerPluginsToLoad = array_filter($pluginsToLoad, function ($plugin) use ($manager) {
-                return $manager->isTrackerPlugin($manager->loadPlugin($plugin));
-            });
+                $trackerPluginsToLoad = array_filter($pluginsToLoad, function ($plugin) use ($manager) {
+                    return $manager->isTrackerPlugin($manager->loadPlugin($plugin));
+                });
 
-            $config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad);
-            $config->log['log_writers'] = array('file');
+                $config->Plugins_Tracker = array('Plugins_Tracker' => $trackerPluginsToLoad);
+                $config->log['log_writers'] = array('file');
 
-            $manager->unloadPlugins();
+                $manager->unloadPlugins();
 
-            $testingEnvironment->logVariables();
-        });
+                $testingEnvironment->logVariables();
+            });
+        }
         Piwik::addAction('Db.getDatabaseConfig', function (&$dbConfig) use ($testingEnvironment) {
             if ($testingEnvironment->dbName) {
                 $dbConfig['dbname'] = $testingEnvironment->dbName;
@@ -168,7 +170,7 @@ class Piwik_TestingEnvironment
         });
         Piwik::addAction('Updater.checkForUpdates', function () {
             try {
-                \Piwik\Filesystem::deleteAllCacheOnUpdate();
+                @\Piwik\Filesystem::deleteAllCacheOnUpdate();
             } catch (Exception $ex) {
                 // pass
             }
diff --git a/tests/PHPUnit/UI b/tests/PHPUnit/UI
index f744d26a33..052d9fae03 160000
--- a/tests/PHPUnit/UI
+++ b/tests/PHPUnit/UI
@@ -1 +1 @@
-Subproject commit f744d26a33b64570a039d65c23c7dfaaff1a245a
+Subproject commit 052d9fae034bf047de8589f3c7a602359a27ef85
diff --git a/tests/lib/screenshot-testing/support/test-environment.js b/tests/lib/screenshot-testing/support/test-environment.js
index 7096b2af26..ff98cf9d6e 100644
--- a/tests/lib/screenshot-testing/support/test-environment.js
+++ b/tests/lib/screenshot-testing/support/test-environment.js
@@ -24,7 +24,14 @@ TestingEnvironment.prototype.reload = function () {
 };
 
 TestingEnvironment.prototype.save = function () {
-    fs.write(testingEnvironmentOverridePath, JSON.stringify(this));
+    var copy = {};
+    for (var key in this) {
+        copy[key] = this[key];
+    }
+
+    delete copy.backup;
+
+    fs.write(testingEnvironmentOverridePath, JSON.stringify(copy));
 };
 
 TestingEnvironment.prototype.callApi = function (method, params, done) {
-- 
GitLab