From 4d1e08883ddd55ad7ad56d25b8c1b83ab7d31838 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 8 Mar 2015 21:06:39 +0100 Subject: Test: Improve exception handling Signed-off-by: Florian Pritz --- application/controllers/tools.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'application/controllers/tools.php') diff --git a/application/controllers/tools.php b/application/controllers/tools.php index e226b1815..7c8538cfb 100644 --- a/application/controllers/tools.php +++ b/application/controllers/tools.php @@ -74,14 +74,26 @@ class Tools extends MY_Controller { $test = new $testclass(); $test->setServer($url); + $exitcode = 0; + $refl = new ReflectionClass($test); foreach ($refl->getMethods() as $method) { if (strpos($method->name, "test_") === 0) { - $test->init(); - $test->{$method->name}(); - $test->cleanup(); + try { + $test->init(); + $test->{$method->name}(); + $test->cleanup(); + } catch (\Exception $e) { + echo "not ok - uncaught exception in $testcase->$method->name\n"; + _actual_exception_handler($e); + $exitcode = 255; + } } } - $test->done_testing(); + if ($exitcode == 0) { + $test->done_testing(); + } else { + exit($exitcode); + } } } -- cgit v1.2.3-24-g4f1b