mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 08:22:07 +02:00
MDL-74279 phpunit: Tests using sqlsrv AdoDB must reset settings
AdoDB SQL*Server drivers use to modify some error and logging preferences. As far as the connection is shared with the main one, that implies that those settings remain for the whole remaining execution. We don't want his in tests, because can affect to other tests at distance. We are fixing this here, only for tests, because it doesn't affect normal requests and because, once we remove AdoDB this won't be needed anymore.
This commit is contained in:
parent
efda17d3b0
commit
8f414e42a9
@ -34,6 +34,17 @@ class auth_db_testcase extends advanced_testcase {
|
||||
/** @var int The amount of users to create for the large user set deletion test */
|
||||
protected $largedeletionsetsize = 128;
|
||||
|
||||
public static function tearDownAfterClass(): void {
|
||||
global $DB;
|
||||
// Apply sqlsrv native driver error and logging default
|
||||
// settings while finishing the AdoDB tests.
|
||||
if ($DB->get_dbfamily() === 'mssql') {
|
||||
sqlsrv_configure("WarningsReturnAsErrors", false);
|
||||
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_OFF);
|
||||
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
protected function init_auth_database() {
|
||||
global $DB, $CFG;
|
||||
require_once("$CFG->dirroot/auth/db/auth.php");
|
||||
|
@ -36,6 +36,18 @@ defined('MOODLE_INTERNAL') || die();
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class lib_test extends \advanced_testcase {
|
||||
|
||||
public static function tearDownAfterClass(): void {
|
||||
global $DB;
|
||||
// Apply sqlsrv native driver error and logging default
|
||||
// settings while finishing the AdoDB tests.
|
||||
if ($DB->get_dbfamily() === 'mssql') {
|
||||
sqlsrv_configure("WarningsReturnAsErrors", false);
|
||||
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_OFF);
|
||||
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Test for getting user enrolment actions.
|
||||
*/
|
||||
|
@ -35,6 +35,17 @@ class sync_test extends \advanced_testcase {
|
||||
/** @var string Original error log */
|
||||
protected $oldlog;
|
||||
|
||||
public static function tearDownAfterClass(): void {
|
||||
global $DB;
|
||||
// Apply sqlsrv native driver error and logging default
|
||||
// settings while finishing the AdoDB tests.
|
||||
if ($DB->get_dbfamily() === 'mssql') {
|
||||
sqlsrv_configure("WarningsReturnAsErrors", false);
|
||||
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_OFF);
|
||||
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
protected function init_enrol_database() {
|
||||
global $DB, $CFG;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user