From 77454c4ca13de80351c346575eb2fa609a37351b Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Mon, 2 Jun 2014 12:20:48 +0200
Subject: [PATCH] overal statistics of tests

---
 alib2/test-src/main.cpp | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/alib2/test-src/main.cpp b/alib2/test-src/main.cpp
index 6efb714736..1b3e032257 100644
--- a/alib2/test-src/main.cpp
+++ b/alib2/test-src/main.cpp
@@ -28,17 +28,22 @@ public:
   void endTest( Test *test );
 
   int getResult() const;
+
+  void printResults() const;
+
 private:
   TestProgressListener( const TestProgressListener &copy );
 
   void operator =( const TestProgressListener &copy );
 
 private:
-  int m_Result;
+  int m_Failures;
+  int m_Tests;
+  int m_Assertions;
   bool m_lastTestFailed;
 };
 
-TestProgressListener::TestProgressListener() : m_Result( 0 ), m_lastTestFailed( false )
+TestProgressListener::TestProgressListener() : m_Failures( 0 ), m_Tests(0), m_Assertions(0), m_lastTestFailed( false )
 {
 }
 
@@ -52,6 +57,7 @@ void TestProgressListener::startTest( Test * test )
 	stdCOut().flush();
 
 	m_lastTestFailed = false;
+	m_Tests++;
 }
 
 void TestProgressListener::addFailure( const TestFailure &failure )
@@ -60,7 +66,7 @@ void TestProgressListener::addFailure( const TestFailure &failure )
 	stdCOut() << "Exception " << failure.thrownException()->message().details();
 
 	m_lastTestFailed = true;
-	m_Result++;
+	if(failure.isError()) m_Failures++; else m_Assertions++;
 }
 
 void TestProgressListener::endTest( Test * test)
@@ -76,7 +82,11 @@ void TestProgressListener::endTest( Test * test)
 }
 
 int TestProgressListener::getResult() const {
-	return m_Result;
+	return m_Failures + m_Assertions;
+}
+
+void TestProgressListener::printResults() const {
+	stdCOut() << "Overal result: Tests: " << m_Tests << " Assertions: " << m_Assertions << " Failures: " << m_Failures << "\n";
 }
 
 CPPUNIT_NS_END
@@ -104,5 +114,7 @@ int main(int , char*[])
   // Run the tests.
   runner.run( controller );
 
+  progressListener.printResults();
+
   return progressListener.getResult();
 }
-- 
GitLab