summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Tests/Auth/OpenID/StoreTest.php34
1 files changed, 15 insertions, 19 deletions
diff --git a/Tests/Auth/OpenID/StoreTest.php b/Tests/Auth/OpenID/StoreTest.php
index 488df61..bfa4967 100644
--- a/Tests/Auth/OpenID/StoreTest.php
+++ b/Tests/Auth/OpenID/StoreTest.php
@@ -349,27 +349,26 @@ explicitly');
'database' => 'template1'
);
- $template_db =& DB::connect($dsn);
-
- if (PEAR::isError($template_db)) {
- $this->fail("PostgreSQL template1 database connection failed: " .
- $template_db->getMessage());
- return;
- }
-
$allowed_failures = 5;
- $success = false;
$result = null;
$sleep_time = 1.0;
+ $sql = sprintf("CREATE DATABASE %s", $temp_db_name);
for ($failures = 0; $failures < $allowed_failures; $failures++) {
- // Try to create the test database.
- $result = $template_db->query(sprintf("CREATE DATABASE %s",
- $temp_db_name));
+ $template_db =& DB::connect($dsn);
- if (!PEAR::isError($result)) {
- $success = true;
- break;
+ if (PEAR::isError($template_db)) {
+ $result &= $template_db;
+ } else {
+ // Try to create the test database.
+ $result = $template_db->query($sql);
+
+ $template_db->disconnect();
+ unset($template_db);
+
+ if (!PEAR::isError($result)) {
+ break;
+ }
}
$sleep_time *= ((mt_rand(1, 100) / 100.0) + 1.5);
@@ -383,15 +382,12 @@ explicitly');
usleep($frac_sleep * 1000000.0);
}
- if (!$success) {
+ if ($failures == $allowed_failures) {
$this->fail("Temporary database creation failed after $failures ".
" tries ('$temp_db_name'): " . $result->getMessage());
return;
}
- $template_db->disconnect();
- unset($template_db);
-
// Disconnect from template1 and reconnect to the temporary
// testing database.
$dsn['database'] = $temp_db_name;