Commit 10b47a4d authored by webchick's avatar webchick
Browse files

Issue #843114 follow-up by Berdir, sun: Make tests for too many connections...

Issue #843114 follow-up by Berdir, sun: Make tests for too many connections failure run on MySQL only.
parent 86cb1278
......@@ -36,10 +36,21 @@ function setUp() {
$this->originalTarget = 'default';
$this->target = 'DatabaseConnectionUnitTest';
// Determine whether the database driver is MySQL. If it is not, the test
// methods will not be executed.
// @todo Make this test driver-agnostic, or find a proper way to skip it.
// @see http://drupal.org/node/1273478
$connection_info = Database::getConnectionInfo('default');
$this->skipTest = (bool) $connection_info['default']['driver'] != 'mysql';
if ($this->skipTest) {
// Insert an assertion to prevent Simpletest from interpreting the test
// as failure.
$this->pass('This test is only compatible with MySQL.');
}
// Create an additional connection to monitor the connections being opened
// and closed in this test.
// @see TestBase::changeDatabasePrefix()
$connection_info = Database::getConnectionInfo('default');
Database::addConnectionInfo('default', 'monitor', $connection_info['default']);
global $databases;
$databases['default']['monitor'] = $connection_info['default'];
......@@ -97,6 +108,9 @@ protected function assertNoConnection($id) {
* @todo getConnectionID() executes a query.
*/
function testOpenClose() {
if ($this->skipTest) {
return;
}
// Add and open a new connection.
$this->addConnection();
$id = $this->getConnectionID();
......@@ -118,6 +132,9 @@ function testOpenClose() {
* Tests Database::closeConnection() with a query.
*/
function testOpenQueryClose() {
if ($this->skipTest) {
return;
}
// Add and open a new connection.
$this->addConnection();
$id = $this->getConnectionID();
......@@ -142,6 +159,9 @@ function testOpenQueryClose() {
* Tests Database::closeConnection() with a query and custom prefetch method.
*/
function testOpenQueryPrefetchClose() {
if ($this->skipTest) {
return;
}
// Add and open a new connection.
$this->addConnection();
$id = $this->getConnectionID();
......@@ -166,6 +186,9 @@ function testOpenQueryPrefetchClose() {
* Tests Database::closeConnection() with a select query.
*/
function testOpenSelectQueryClose() {
if ($this->skipTest) {
return;
}
// Add and open a new connection.
$this->addConnection();
$id = $this->getConnectionID();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment