diff --git a/lib/phpunit/classes/database_driver_testcase.php b/lib/phpunit/classes/database_driver_testcase.php index 4f56eb8a5e9..f3544297b5a 100644 --- a/lib/phpunit/classes/database_driver_testcase.php +++ b/lib/phpunit/classes/database_driver_testcase.php @@ -134,6 +134,23 @@ abstract class database_driver_testcase extends PHPUnit_Framework_TestCase { parent::tearDownAfterClass(); } + /** + * Runs the bare test sequence. + * @return void + */ + public function runBare() { + try { + parent::runBare(); + + } catch (Exception $e) { + if ($this->tdb->is_transaction_started()) { + $this->tdb->force_transaction_rollback(); + } + $this->tearDown(); + throw $e; + } + } + /** * Return debugging messages from the current test. * @return array with instances having 'message', 'level' and 'stacktrace' property.