]> git.tdb.fi Git - libs/test.git/blobdiff - source/test.cpp
Display failure reason after other test output
[libs/test.git] / source / test.cpp
index 910853f28da5dcf6da2e42a3ebde74b806bce513..0c2081bf0303c68f4306e5ccce65dfdfafa50bb2 100644 (file)
@@ -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<string> 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)