Tests: Restore the database connection earlier when switching test groups.

When plugins don't disable the `backupGlobals` PHPUnit option in their own tests, `$wpdb` is backed up and restored between classes of tests. The serialisation process used for this broke the database connection. This previously wasn't a problem, as it was reconnecting before each test.

[38398] introduced some changes that required the connection to be available in `setUpBeforeClass()`, earlier than in was previously reconnecting. This didn't cause warnings in Core, but it did cause warnings for plugins that don't disable the `backupGlobals` option.

The database connection now reconnects in `setUpBeforeClass()`. This change also fixes a few Core tests that weren't calling `parent::setUpBeforeClass()` or `parent::tearDown()` correctly.

Fixes #39327.



git-svn-id: https://develop.svn.wordpress.org/trunk@39626 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Gary Pendergast
2016-12-21 04:58:47 +00:00
parent 4b984b763d
commit f593d8532a
5 changed files with 23 additions and 5 deletions

View File

@@ -389,6 +389,11 @@ class wpdb_exposed_methods_for_testing extends wpdb {
$this->ready = true;
$this->field_types = $wpdb->field_types;
$this->charset = $wpdb->charset;
$this->dbuser = $wpdb->dbuser;
$this->dbpassword = $wpdb->dbpassword;
$this->dbname = $wpdb->dbname;
$this->dbhost = $wpdb->dbhost;
}
public function __call( $name, $arguments ) {