bool run_test(TestCase& testCase, bool catch_exceptions) { gCurrentTestCase = testCase; if (catch_exceptions) { try { gCurrentTestCase = testCase; testCase.execute(); // the test code may declare itself failed bool result = !gCurrentTestCase.failed; post_test_sanity_check(); return result; } catch (std::runtime_error const& err) { std::cout << "Error white running test case " << testCase.name << std::endl; std::cout << err.what() << std::endl; return false; } } else { testCase.execute(); } post_test_sanity_check(); return !gCurrentTestCase.failed; }
bool run_test(TestCase& testCase) { gCurrentTestCase = testCase; before_each_test(); testCase.execute(); after_each_test(); return !gCurrentTestCase.failed; }