From fe95fb532242f2c9d89ec6a701a649e2bb9919cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Sun, 24 Mar 2013 14:16:28 +0100 Subject: [PATCH] MDL-37782 reset DB after each failed database test --- .../classes/database_driver_testcase.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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.