From: Mikko Rasa Date: Fri, 6 Jul 2012 12:11:57 +0000 (+0300) Subject: Display failure reason after other test output X-Git-Url: http://git.tdb.fi/?a=commitdiff_plain;h=7867d19e116a19c5f7ade801e8c0a0eebb7196f4;p=libs%2Ftest.git Display failure reason after other test output --- diff --git a/source/test.cpp b/source/test.cpp index 910853f..0c2081b 100644 --- a/source/test.cpp +++ b/source/test.cpp @@ -70,6 +70,7 @@ void Test::run(bool verbose) { detail_info = string(); detail_debug = string(); + fail_reason = string(); passed = false; start_test((*i)->get_description()); const ExceptionCheck *exc_check = (*i)->get_exception_check(); @@ -103,6 +104,13 @@ void Test::run(bool verbose) if(verbose) detail_info += detail_debug; + if(!passed) + { + if(fail_reason.empty()) + detail_info += "Failed without reason"; + else + detail_info += fail_reason; + } if(!detail_info.empty()) { vector lines = split(detail_info, '\n'); @@ -132,7 +140,7 @@ void Test::pass_test() void Test::fail_test(const string &why) { IO::print("\033[31mfailed\033[0m\n"); - IO::print(" %s\n", why); + fail_reason = why; } void Test::expect(bool cond, const string &expr) diff --git a/source/test.h b/source/test.h index d410377..a6dad93 100644 --- a/source/test.h +++ b/source/test.h @@ -43,6 +43,7 @@ private: std::list functions; std::string detail_info; std::string detail_debug; + std::string fail_reason; bool passed; protected: