summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2011-05-19 07:38:35 +0200
committerChristian Weiske <cweiske@cweiske.de>2011-05-19 07:38:35 +0200
commitef23f01ebab448f10cb3935af4a2723f0e362c38 (patch)
tree9d16e757b3e30daa38a0bed1eb276a8bb26b3ac6
parente118a7d97b964a3146c35139da92d6514eb3b235 (diff)
downloadsemanticscuttle-ef23f01ebab448f10cb3935af4a2723f0e362c38.tar.gz
semanticscuttle-ef23f01ebab448f10cb3935af4a2723f0e362c38.tar.bz2
begin supporting a different database for unit tests
-rw-r--r--src/SemanticScuttle/header-standalone.php2
-rw-r--r--src/SemanticScuttle/header.php17
-rw-r--r--tests/TestBaseApi.php7
-rw-r--r--tests/prepare.php4
4 files changed, 19 insertions, 11 deletions
diff --git a/src/SemanticScuttle/header-standalone.php b/src/SemanticScuttle/header-standalone.php
index cc1b0bd..50732a6 100644
--- a/src/SemanticScuttle/header-standalone.php
+++ b/src/SemanticScuttle/header-standalone.php
@@ -14,7 +14,7 @@
* @link http://sourceforge.net/projects/semanticscuttle
*/
$_SERVER['HTTP_HOST'] = 'http://localhost/';
-define('UNIT_TEST_MODE', true);
+//define('UNIT_TEST_MODE', true);
require_once dirname(__FILE__) . '/header.php';
?> \ No newline at end of file
diff --git a/src/SemanticScuttle/header.php b/src/SemanticScuttle/header.php
index b0705b0..098e5c3 100644
--- a/src/SemanticScuttle/header.php
+++ b/src/SemanticScuttle/header.php
@@ -46,14 +46,21 @@ if (isset($_GET['unittestMode']) && $_GET['unittestMode'] == 1
die("Unittestmode is not allowed\n");
}
- $unittestConfigFile = $datadir . '/config.unittest.php';
- if (file_exists($unittestConfigFile)) {
- require_once $unittestConfigFile;
- }
define('HTTP_UNIT_TEST_MODE', true);
define('UNIT_TEST_MODE', true);
}
if (defined('UNIT_TEST_MODE')) {
+ //load configuration for unit tests
+ $testingConfigFile = $datadir . '/config.testing.php';
+ if (file_exists($testingConfigFile)) {
+ require_once $testingConfigFile;
+ }
+ //test-specific configuration file
+ $unittestConfigFile = $datadir . '/config.testing-tmp.php';
+ if (file_exists($unittestConfigFile)) {
+ require_once $unittestConfigFile;
+ }
+
//make local config vars global - needed for unit tests
//run with phpunit
foreach (get_defined_vars() as $var => $value) {
@@ -107,7 +114,7 @@ T_bind_textdomain_codeset($domain, 'UTF-8');
T_textdomain($domain);
// 4 // Session
-if (!defined('UNIT_TEST_MODE') || defined('HTTP_UNIT_TEST_MODE')) {
+if (isset($_SERVER['REMOTE_ADDR'])) {
session_start();
if ($GLOBALS['enableVoting']) {
if (isset($_SESSION['lastUrl'])) {
diff --git a/tests/TestBaseApi.php b/tests/TestBaseApi.php
index 2caa701..31797c9 100644
--- a/tests/TestBaseApi.php
+++ b/tests/TestBaseApi.php
@@ -50,8 +50,9 @@ class TestBaseApi extends TestBase
$this->url = $GLOBALS['unittestUrl'] . $this->urlPart;
//clean up before test
- if (file_exists($GLOBALS['datadir'] . '/config.unittest.php')) {
- unlink($GLOBALS['datadir'] . '/config.unittest.php');
+ $configFile = $GLOBALS['datadir'] . '/config.testing-tmp.php';
+ if (file_exists($configFile)) {
+ unlink($configFile);
}
$this->us = SemanticScuttle_Service_Factory::get('User');
@@ -230,7 +231,7 @@ class TestBaseApi extends TestBase
$this->assertInternalType(
'integer',
- file_put_contents($GLOBALS['datadir'] . '/config.unittest.php', $str),
+ file_put_contents($GLOBALS['datadir'] . '/config.testing-tmp.php', $str),
'Writing config.unittest.php failed'
);
}
diff --git a/tests/prepare.php b/tests/prepare.php
index c80306e..ea4d77d 100644
--- a/tests/prepare.php
+++ b/tests/prepare.php
@@ -22,7 +22,7 @@ $_SERVER['HTTP_HOST'] = 'http://localhost/';
define('UNIT_TEST_MODE', true);
if ('@data_dir@' == '@' . 'data_dir@') {
- //non pear-install
+ //non pear-installation (i.e. git checkout)
require_once dirname(__FILE__) . '/../src/SemanticScuttle/header.php';
} else {
//pear installation; files are in include path
@@ -35,7 +35,7 @@ if ($GLOBALS['debugMode'] == true
&& $GLOBALS['dbtype'] == 'mysql4'
) {
echo "\n"
- . '!!! The combination of debugMode and dbtype==mysql4'
+ . '!! The combination of debugMode and dbtype==mysql4'
. ' will wreck some tests' . "\n\n";
}
?> \ No newline at end of file