Test failure should show condition, actual value, *and* expected (limit) value.
authorPeter D. Barnes, Jr. <barnes26@llnl.gov>
Fri, 10 Jan 2014 17:21:54 -0800
changeset 10555 5dddf260e22f
parent 10554 ee9c5221e7bd
child 10556 8d48368f20c9
Test failure should show condition, actual value, *and* expected (limit) value.
src/core/model/test.cc
--- a/src/core/model/test.cc	Fri Jan 10 17:20:26 2014 -0800
+++ b/src/core/model/test.cc	Fri Jan 10 17:21:54 2014 -0800
@@ -73,6 +73,18 @@
   std::string file;
   int32_t line;
 };
+std::ostream & operator << (std::ostream & os, const TestCaseFailure & failure)
+{
+  os << "    test=\""  << failure.cond
+     << "\" actual=\"" << failure.actual
+     << "\" limit=\""  << failure.limit
+     << "\" in=\""     << failure.file
+     << ":"            << failure.line 
+     << "\" "          << failure.message;
+
+  return os;
+}
+
 struct TestCase::Result
 {
   Result ();
@@ -592,10 +604,7 @@
         {
           for (uint32_t i = 0; i < test->m_result->failure.size (); i++)
             {
-              TestCaseFailure failure = test->m_result->failure[i];
-              *os << Indent (level) << "    got=\"" << failure.cond << "\" expected=\"" 
-                  << failure.actual << "\" in=\"" << failure.file << ":" << failure.line 
-                  << "\" " << failure.message << std::endl;
+              *os << Indent (level) << test->m_result->failure[i] << std::endl;
             }
           for (uint32_t i = 0; i < test->m_children.size (); i++)
             {