mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 16:04:25 +02:00
MDL-21015 - prevent dead end under uncontrolled situations where cleanup doesn't happen on destruct
This commit is contained in:
parent
56805c35af
commit
04aa2fd6c6
@ -543,11 +543,15 @@ class UnitTestCaseUsingDatabase extends UnitTestCase {
|
||||
*/
|
||||
protected function create_test_table($tablename, $installxmlfile) {
|
||||
global $CFG;
|
||||
$dbman = $this->testdb->get_manager();
|
||||
if (isset($this->tables[$tablename])) {
|
||||
debugging('You are attempting to create test table ' . $tablename . ' again. It already exists. Please review your code immediately.', DEBUG_DEVELOPER);
|
||||
return;
|
||||
}
|
||||
$dbman = $this->testdb->get_manager();
|
||||
if ($dbman->table_exists($tablename)) {
|
||||
debugging('This table ' . $tablename . ' already exists from a previous execution. If the error persists you will need to review your code to ensure it is being created only once.', DEBUG_DEVELOPER);
|
||||
$dbman->drop_table(new xmldb_table($tablename));
|
||||
}
|
||||
$dbman->install_one_table_from_xmldb_file($CFG->dirroot . '/' . $installxmlfile . '/db/install.xml', $tablename);
|
||||
$this->tables[$tablename] = 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user