X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libtest%2Fframework.cc;h=daea4f4ebfa339edd0d88f3847fe30e5dfbcc999;hb=25efe3485198149616820ab4e52d2f18f0abe5a7;hp=eb0f4120de3982eacdc485d3a5e487f37a7461bf;hpb=f363012dbad70fe0d1e6d714f432e1567cef4935;p=m6w6%2Flibmemcached diff --git a/libtest/framework.cc b/libtest/framework.cc index eb0f4120..daea4f4e 100644 --- a/libtest/framework.cc +++ b/libtest/framework.cc @@ -48,13 +48,14 @@ using namespace libtest; Framework::Framework(libtest::SignalThread& signal, const std::string& only_run_arg, const std::string& wildcard_arg) : - collections(NULL), + _collections(NULL), _total(0), _success(0), _skipped(0), _failed(0), _create(NULL), _destroy(NULL), + _on_error(NULL), _runner(NULL), _socket(false), _creators_ptr(NULL), @@ -64,7 +65,7 @@ Framework::Framework(libtest::SignalThread& signal, { get_world(this); - for (collection_st *next= collections; next and next->name; next++) + for (collection_st *next= _collections; next and next->name; next++) { _collection.push_back(new Collection(this, next)); } @@ -83,11 +84,10 @@ Framework::~Framework() for (std::vector::iterator iter= _collection.begin(); iter != _collection.end(); - iter++) + ++iter) { delete *iter; } - _collection.clear(); } bool Framework::match(const char* arg) @@ -104,7 +104,7 @@ void Framework::exec() { for (std::vector::iterator iter= _collection.begin(); iter != _collection.end() and (_signal.is_shutdown() == false); - iter++) + ++iter) { if (_only_run.empty() == false and fnmatch(_only_run.c_str(), (*iter)->name(), 0)) @@ -134,13 +134,20 @@ void Framework::exec() } catch (libtest::fatal& e) { + _failed++; stream::cerr(e.file(), e.line(), e.func()) << e.mesg(); } catch (libtest::disconnected& e) { + _failed++; Error << "Unhandled disconnection occurred:" << e.what(); throw; } + catch (...) + { + _failed++; + throw; + } Outn(); } @@ -151,7 +158,7 @@ uint32_t Framework::sum_total() uint32_t count= 0; for (std::vector::iterator iter= _collection.begin(); iter != _collection.end(); - iter++) + ++iter) { count+= (*iter)->total(); } @@ -164,7 +171,7 @@ uint32_t Framework::sum_success() uint32_t count= 0; for (std::vector::iterator iter= _collection.begin(); iter != _collection.end(); - iter++) + ++iter) { count+= (*iter)->success(); } @@ -177,7 +184,7 @@ uint32_t Framework::sum_skipped() uint32_t count= 0; for (std::vector::iterator iter= _collection.begin(); iter != _collection.end(); - iter++) + ++iter) { count+= (*iter)->skipped(); } @@ -190,7 +197,7 @@ uint32_t Framework::sum_failed() uint32_t count= 0; for (std::vector::iterator iter= _collection.begin(); iter != _collection.end(); - iter++) + ++iter) { count+= (*iter)->failed(); }