aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-16 00:06:52 +0100
committerTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-16 00:06:52 +0100
commitd0ce6a18df2172a6e9baf1f1c2802efb30b25323 (patch)
tree478bf6c878bacec7c4e60832e0af7d106bd52e52 /tests
parent00d71d854cb844cba7755a2e8adfa4217dbc0ef0 (diff)
parent6debd9a1bea4ee69a06eac43cc6b2f856f601604 (diff)
downloadforums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.gz
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.bz2
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.tar.xz
forums-d0ce6a18df2172a6e9baf1f1c2802efb30b25323.zip
Merge pull request #4171 from CHItA/ticket/14462
[ticket/14462] Try to prevent timeouts in the installer * CHItA/ticket/14462: [ticket/14462] Not show timeout messages in convertors [ticket/14462] Make timeout error translateable [ticket/14462] Update ordering in install db config [ticket/14462] Fix comments [ticket/14462] Fix tests [ticket/14462] Fix CS and typo [ticket/14462] Set instance of db driver for database access using global [ticket/14462] Fix installation in tests [ticket/14462] Refactor tasks to be more modular [ticket/14462] Further speed improvements
Diffstat (limited to 'tests')
-rw-r--r--tests/installer/installer_config_test.php7
-rw-r--r--tests/test_framework/phpbb_functional_test_case.php22
-rw-r--r--tests/test_framework/phpbb_ui_test_case.php56
-rw-r--r--tests/ui/quick_links_test.php1
4 files changed, 69 insertions, 17 deletions
diff --git a/tests/installer/installer_config_test.php b/tests/installer/installer_config_test.php
index c8e482e260..13ac325a79 100644
--- a/tests/installer/installer_config_test.php
+++ b/tests/installer/installer_config_test.php
@@ -52,8 +52,8 @@ class phpbb_installer_config_test extends phpbb_test_case
public function test_progress_tracking()
{
- $this->config->set_finished_task('foo');
- $this->config->set_active_module('bar');
+ $this->config->set_finished_task(0);
+ $this->config->set_active_module('bar', 5);
$this->config->set_task_progress_count(10);
$this->config->increment_current_task_progress();
@@ -66,7 +66,8 @@ class phpbb_installer_config_test extends phpbb_test_case
$result = $this->config->get_progress_data();
$expected_result = array(
'last_task_module_name' => 'bar',
- 'last_task_name' => 'foo',
+ 'last_task_module_index' => 5,
+ 'last_task_index' => 0,
'max_task_progress' => 10,
'current_task_progress' => 3,
);
diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php
index 34fbcec0e2..53519617b3 100644
--- a/tests/test_framework/phpbb_functional_test_case.php
+++ b/tests/test_framework/phpbb_functional_test_case.php
@@ -20,6 +20,7 @@ class phpbb_functional_test_case extends phpbb_test_case
static protected $client;
static protected $cookieJar;
static protected $root_url;
+ static protected $install_success = false;
protected $cache = null;
protected $db = null;
@@ -78,6 +79,11 @@ class phpbb_functional_test_case extends phpbb_test_case
{
parent::setUp();
+ if (!self::$install_success)
+ {
+ $this->fail('Installing phpBB has failed.');
+ }
+
$this->bootstrap();
self::$cookieJar = new CookieJar;
@@ -360,17 +366,21 @@ class phpbb_functional_test_case extends phpbb_test_case
$iohandler->set_input('script_path', $parseURL['path']);
$iohandler->set_input('submit_server', 'submit');
- do
- {
- $installer->run();
- }
- while (file_exists($phpbb_root_path . 'store/install_config.php'));
+ $installer->run();
copy($config_file, $config_file_test);
+ self::$install_success = true;
+
+ if (file_exists($phpbb_root_path . 'store/install_config.php'))
+ {
+ self::$install_success = false;
+ @unlink($phpbb_root_path . 'store/install_config.php');
+ }
+
if (file_exists($phpbb_root_path . 'cache/install_lock'))
{
- unlink($phpbb_root_path . 'cache/install_lock');
+ @unlink($phpbb_root_path . 'cache/install_lock');
}
global $phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template;
diff --git a/tests/test_framework/phpbb_ui_test_case.php b/tests/test_framework/phpbb_ui_test_case.php
index 3c09ff96d1..8b60096081 100644
--- a/tests/test_framework/phpbb_ui_test_case.php
+++ b/tests/test_framework/phpbb_ui_test_case.php
@@ -31,6 +31,8 @@ class phpbb_ui_test_case extends phpbb_test_case
static protected $config;
static protected $root_url;
static protected $already_installed = false;
+ static protected $install_success = false;
+ static protected $db;
static public function setUpBeforeClass()
{
@@ -79,6 +81,25 @@ class phpbb_ui_test_case extends phpbb_test_case
}
}
+ public function setUp()
+ {
+ if (!self::$install_success)
+ {
+ $this->fail('Installing phpBB has failed.');
+ }
+ }
+
+ protected function tearDown()
+ {
+ parent::tearDown();
+
+ if (self::$db instanceof \phpbb\db\driver\driver_interface)
+ {
+ // Close the database connections again this test
+ self::$db->sql_close();
+ }
+ }
+
static public function visit($path)
{
self::$webDriver->get(self::$root_url . $path);
@@ -103,10 +124,12 @@ class phpbb_ui_test_case extends phpbb_test_case
static public function install_board()
{
- global $phpbb_root_path, $phpEx;
+ global $phpbb_root_path, $phpEx, $db;
self::recreate_database(self::$config);
+ $db = self::get_db();
+
$config_file = $phpbb_root_path . "config.$phpEx";
$config_file_dev = $phpbb_root_path . "config_dev.$phpEx";
$config_file_test = $phpbb_root_path . "config_test.$phpEx";
@@ -199,21 +222,40 @@ class phpbb_ui_test_case extends phpbb_test_case
$iohandler->set_input('script_path', $parseURL['path']);
$iohandler->set_input('submit_server', 'submit');
- do
- {
- $installer->run();
- }
- while (file_exists($phpbb_root_path . 'store/install_config.php'));
+ $installer->run();
copy($config_file, $config_file_test);
+ self::$install_success = true;
+
+ if (file_exists($phpbb_root_path . 'store/install_config.php'))
+ {
+ self::$install_success = false;
+ @unlink($phpbb_root_path . 'store/install_config.php');
+ }
+
if (file_exists($phpbb_root_path . 'cache/install_lock'))
{
- unlink($phpbb_root_path . 'cache/install_lock');
+ @unlink($phpbb_root_path . 'cache/install_lock');
}
global $phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template;
$phpbb_container->reset();
unset($phpbb_container, $cache, $phpbb_dispatcher, $request, $user, $auth, $db, $config, $phpbb_log, $symfony_request, $phpbb_filesystem, $phpbb_path_helper, $phpbb_extension_manager, $template);
}
+
+ static protected function get_db()
+ {
+ global $phpbb_root_path, $phpEx;
+ // so we don't reopen an open connection
+ if (!(self::$db instanceof \phpbb\db\driver\driver_interface))
+ {
+ $dbms = self::$config['dbms'];
+ /** @var \phpbb\db\driver\driver_interface $db */
+ $db = new $dbms();
+ $db->sql_connect(self::$config['dbhost'], self::$config['dbuser'], self::$config['dbpasswd'], self::$config['dbname'], self::$config['dbport']);
+ self::$db = $db;
+ }
+ return self::$db;
+ }
}
diff --git a/tests/ui/quick_links_test.php b/tests/ui/quick_links_test.php
index 5bddb44a8b..582aeafcae 100644
--- a/tests/ui/quick_links_test.php
+++ b/tests/ui/quick_links_test.php
@@ -16,7 +16,6 @@
*/
class quick_links_test extends phpbb_ui_test_case
{
-
public function test_quick_links()
{
$this->visit('index.php');