diff options
Diffstat (limited to 'Tests/Auth/OpenID')
-rw-r--r-- | Tests/Auth/OpenID/StoreTest.php | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/Tests/Auth/OpenID/StoreTest.php b/Tests/Auth/OpenID/StoreTest.php index 75f2254..48cf33e 100644 --- a/Tests/Auth/OpenID/StoreTest.php +++ b/Tests/Auth/OpenID/StoreTest.php @@ -359,11 +359,24 @@ explicitly'); return; } - // Try to create the test database. - $result = $template_db->query(sprintf("CREATE DATABASE %s", - $temp_db_name)); + $allowed_failures = 5; + $failures = 0; + $success = false; + + while (($failures < $allowed_failures) && !$success) { + // Try to create the test database. + $result = $template_db->query(sprintf("CREATE DATABASE %s", + $temp_db_name)); + + if (PEAR::isError($result)) { + $failures++; + sleep(1); + } else { + $success = true; + } + } - if (PEAR::isError($result)) { + if (!$success) { $this->fail("Temporary database creation failed ". "('$temp_db_name'): " . $result->getMessage()); return; |