X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Frunner.cc;h=fdabb7c61e2c5ed3c018244e1b6447d236b2175b;hb=17690735658d7b44f91579df91e31da9ae185158;hp=5f1acf56aacce795bdb42d27542541a907c002ad;hpb=23dca174eef8d846e3d4402729b57f6ded035e64;p=awesomized%2Flibmemcached diff --git a/libtest/runner.cc b/libtest/runner.cc index 5f1acf56..fdabb7c6 100644 --- a/libtest/runner.cc +++ b/libtest/runner.cc @@ -34,7 +34,7 @@ * */ -#include "mem_config.h" +#include "libtest/yatlcon.h" #include namespace libtest { @@ -44,6 +44,117 @@ Runner::Runner() : { } +test_return_t Runner::main(test_callback_fn* func, void *object) +{ + test_return_t ret; + try { + ret= run(func, object); + } + catch (libtest::__skipped e) + { + ret= TEST_SKIPPED; + } + catch (libtest::__failure e) + { + libtest::stream::make_cerr(e.file(), e.line(), e.func()) << e.what(); + ret= TEST_FAILURE; + } + catch (libtest::__success) + { + ret= TEST_SUCCESS; + } + catch (libtest::fatal& e) + { + throw; + } + catch (std::exception& e) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << e.what(); + throw; + } + catch (...) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << "Unknown exception thrown"; + throw; + } + + return ret; +} + +test_return_t Runner::setup(test_callback_fn* func, void *object) +{ + test_return_t ret; + try { + ret= pre(func, object); + } + catch (libtest::__skipped e) + { + ret= TEST_SKIPPED; + } + catch (libtest::__failure e) + { + libtest::stream::make_cout(e.file(), e.line(), e.func()) << e.what(); + ret= TEST_FAILURE; + } + catch (libtest::__success) + { + ret= TEST_SUCCESS; + } + catch (libtest::fatal& e) + { + throw; + } + catch (std::exception& e) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << e.what(); + throw; + } + catch (...) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << "Unknown exception thrown"; + throw; + } + + return ret; +} + +test_return_t Runner::teardown(test_callback_fn* func, void *object) +{ + test_return_t ret; + try { + ret= post(func, object); + } + catch (libtest::__skipped e) + { + ret= TEST_SKIPPED; + } + catch (libtest::__failure e) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << e.what(); + ret= TEST_FAILURE; + } + catch (libtest::__success) + { + ret= TEST_SUCCESS; + } + catch (libtest::fatal& e) + { + throw; + } + catch (std::exception& e) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << e.what(); + throw; + } + catch (...) + { + libtest::stream::make_cerr(LIBYATL_DEFAULT_PARAM) << "Unknown exception thrown"; + throw; + } + + return ret; +} + test_return_t Runner::flush(void*) { return TEST_SUCCESS; @@ -79,4 +190,14 @@ test_return_t Runner::post(test_callback_fn* func, void *object) return TEST_SUCCESS; } +void Runner::set_servers(libtest::server_startup_st& arg) +{ + _servers= &arg; +} + +bool Runner::check() +{ + return _servers ? _servers->check() : true; +} + } // namespace libtest