aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_framework
diff options
context:
space:
mode:
authorNils Adermann <naderman@naderman.de>2010-10-22 19:27:41 +0200
committerNils Adermann <naderman@naderman.de>2010-10-25 19:38:58 +0200
commit9dbbfea5fd31e40acc6fb4a195795b3e285a5b56 (patch)
treea1b86b5befa333ce44eec4185ed4a519bd558db1 /tests/test_framework
parentee846c461c6f0d4ec02dcefa6c82090587bc7012 (diff)
downloadforums-9dbbfea5fd31e40acc6fb4a195795b3e285a5b56.tar
forums-9dbbfea5fd31e40acc6fb4a195795b3e285a5b56.tar.gz
forums-9dbbfea5fd31e40acc6fb4a195795b3e285a5b56.tar.bz2
forums-9dbbfea5fd31e40acc6fb4a195795b3e285a5b56.tar.xz
forums-9dbbfea5fd31e40acc6fb4a195795b3e285a5b56.zip
[task/mssql-db-tests] No longer display an error when skipping db tests.
Tests are run with sqlite by default now anyway, so in the majority of cases the error message explaining how to set up database test running will not be displayed anyway. Database tests are now generally simply skipped if no configuration can be found. The RUNNING_TESTS.txt file explains how to set them up however, and more info is available on the wiki. The get_database_config method was moved from test_case_helpers to database_test_case because it has no general purpose. PHPBB3-9868
Diffstat (limited to 'tests/test_framework')
-rw-r--r--tests/test_framework/phpbb_database_test_case.php48
-rw-r--r--tests/test_framework/phpbb_test_case_helpers.php68
2 files changed, 46 insertions, 70 deletions
diff --git a/tests/test_framework/phpbb_database_test_case.php b/tests/test_framework/phpbb_database_test_case.php
index c183c61f91..33dbce709b 100644
--- a/tests/test_framework/phpbb_database_test_case.php
+++ b/tests/test_framework/phpbb_database_test_case.php
@@ -81,6 +81,41 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
}
}
+ public function get_database_config()
+ {
+ static $show_error = true;
+
+ if (file_exists('test_config.php'))
+ {
+ include('test_config.php');
+
+ return array(
+ 'dbms' => $dbms,
+ 'dbhost' => $dbhost,
+ 'dbport' => $dbport,
+ 'dbname' => $dbname,
+ 'dbuser' => $dbuser,
+ 'dbpasswd' => $dbpasswd,
+ );
+ }
+ else if (extension_loaded('sqlite') && version_compare(PHPUnit_Runner_Version::id(), '3.4.15', '>='))
+ {
+ // Silently use sqlite
+ return array(
+ 'dbms' => 'sqlite',
+ 'dbhost' => 'phpbb_unit_tests.sqlite2', // filename
+ 'dbport' => '',
+ 'dbname' => '',
+ 'dbuser' => '',
+ 'dbpasswd' => '',
+ );
+ }
+ else
+ {
+ $this->markTestSkipped('Missing test_config.php: See first error.');
+ }
+ }
+
// NOTE: This function is not the same as split_sql_file from functions_install
public function split_sql_file($sql, $dbms)
{
@@ -115,7 +150,7 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
{
static $already_connected;
- $database_config = $this->get_test_case_helpers()->get_database_config();
+ $database_config = $this->get_database_config();
$dbms_data = $this->get_dbms_data($database_config['dbms']);
@@ -190,7 +225,16 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test
public function new_dbal()
{
- return $this->get_test_case_helpers()->new_dbal();
+ global $phpbb_root_path, $phpEx;
+
+ $config = $this->get_database_config();
+
+ require_once '../phpBB/includes/db/' . $config['dbms'] . '.php';
+ $dbal = 'dbal_' . $config['dbms'];
+ $db = new $dbal();
+ $db->sql_connect($config['dbhost'], $config['dbuser'], $config['dbpasswd'], $config['dbname'], $config['dbport']);
+
+ return $db;
}
public function setExpectedTriggerError($errno, $message = '')
diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php
index 7c026e496e..0acdce32e0 100644
--- a/tests/test_framework/phpbb_test_case_helpers.php
+++ b/tests/test_framework/phpbb_test_case_helpers.php
@@ -18,74 +18,6 @@ class phpbb_test_case_helpers
$this->test_case = $test_case;
}
- public function get_database_config()
- {
- static $show_error = true;
-
- if (file_exists('test_config.php'))
- {
- include('test_config.php');
-
- return array(
- 'dbms' => $dbms,
- 'dbhost' => $dbhost,
- 'dbport' => $dbport,
- 'dbname' => $dbname,
- 'dbuser' => $dbuser,
- 'dbpasswd' => $dbpasswd,
- );
- }
- else if (extension_loaded('sqlite') && version_compare(PHPUnit_Runner_Version::id(), '3.4.15', '>='))
- {
- // Silently use sqlite
- return array(
- 'dbms' => 'sqlite',
- 'dbhost' => 'phpbb_unit_tests.sqlite2', // filename
- 'dbport' => '',
- 'dbname' => '',
- 'dbuser' => '',
- 'dbpasswd' => '',
- );
- }
- else
- {
- if ($show_error)
- {
- $show_error = false;
- }
- else
- {
- $this->test_case->markTestSkipped('Missing test_config.php: See first error.');
- return;
- }
-
- trigger_error("You have to create a test_config.php like this:
-\"<?php
-\$dbms = 'mysqli';
-\$dbhost = 'localhost';
-\$dbport = '';
-\$dbname = 'database';
-\$dbuser = 'user';
-\$dbpasswd = 'password';
-\"
-
-NOTE: The database is dropped and recreated with the phpbb-db-schema! Do NOT specify a database with important data.", E_USER_ERROR);
- }
- }
-
- public function new_dbal()
- {
- global $phpbb_root_path, $phpEx;
- $config = $this->get_database_config();
-
- require_once '../phpBB/includes/db/' . $config['dbms'] . '.php';
- $dbal = 'dbal_' . $config['dbms'];
- $db = new $dbal();
- $db->sql_connect($config['dbhost'], $config['dbuser'], $config['dbpasswd'], $config['dbname'], $config['dbport']);
-
- return $db;
- }
-
public function setExpectedTriggerError($errno, $message = '')
{
$exceptionName = '';