You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2022/03/25 01:24:05 UTC

[logging-log4cxx] branch master updated: Print out failing sub-tests

This is an automated email from the ASF dual-hosted git repository.

rmiddleton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git


The following commit(s) were added to refs/heads/master by this push:
     new b64492a  Print out failing sub-tests
b64492a is described below

commit b64492a7927c634dbd9cdb2b4d80fb0fc27dee19
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Thu Mar 24 21:00:12 2022 -0400

    Print out failing sub-tests
---
 src/test/cpp/abts.cpp    | 21 ++++++++++++---------
 src/test/cpp/abts.h      |  6 ++++--
 src/test/cpp/logunit.cpp |  6 +++---
 src/test/cpp/logunit.h   |  2 +-
 4 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/test/cpp/abts.cpp b/src/test/cpp/abts.cpp
index 5524c9b..c26ebd8 100644
--- a/src/test/cpp/abts.cpp
+++ b/src/test/cpp/abts.cpp
@@ -101,14 +101,14 @@ static void end_suite(abts_suite* suite)
 			fflush(stdout);
 		}
 
-		if (last->failed == 0)
+		if (last->failed.size() == 0)
 		{
 			fprintf(stdout, "SUCCESS\n");
 			fflush(stdout);
 		}
 		else
 		{
-			fprintf(stdout, "FAILED %d of %d\n", last->failed, last->num_test);
+			fprintf(stdout, "FAILED %d of %d\n", last->failed.size(), last->num_test);
 			fflush(stdout);
 		}
 	}
@@ -129,7 +129,7 @@ abts_suite* abts_add_suite(abts_suite* suite, const char* suite_name_full)
 
 	subsuite = (sub_suite*) malloc(sizeof(*subsuite));
 	subsuite->num_test = 0;
-	subsuite->failed = 0;
+	subsuite->failed.clear();
 	subsuite->next = NULL;
 	/* suite_name_full may be an absolute path depending on __FILE__
 	 * expansion */
@@ -189,7 +189,7 @@ abts_suite* abts_add_suite(abts_suite* suite, const char* suite_name_full)
 	return suite;
 }
 
-void abts_run_test(abts_suite* ts, test_func f, void* value)
+void abts_run_test(abts_suite* ts, const char* name, test_func f, void* value)
 {
 	abts_case tc;
 	sub_suite* ss;
@@ -211,7 +211,7 @@ void abts_run_test(abts_suite* ts, test_func f, void* value)
 
 	if (tc.failed)
 	{
-		ss->failed++;
+		ss->failed.push_back(name);
 	}
 }
 
@@ -227,7 +227,7 @@ static int report(abts_suite* suite)
 
 	for (dptr = suite->head; dptr; dptr = dptr->next)
 	{
-		count += dptr->failed;
+		count += dptr->failed.size();
 	}
 
 	if (list_tests)
@@ -247,11 +247,14 @@ static int report(abts_suite* suite)
 
 	while (dptr != NULL)
 	{
-		if (dptr->failed != 0)
+		if (dptr->failed.size() != 0)
 		{
-			float percent = ((float)dptr->failed / (float)dptr->num_test);
+			float percent = ((float)dptr->failed.size() / (float)dptr->num_test);
 			fprintf(stdout, "%-15s\t\t%5d\t%4d\t%6.2f%%\n", dptr->name,
-				dptr->num_test, dptr->failed, percent * 100);
+				dptr->num_test, dptr->failed.size(), percent * 100);
+			for( const char* failed_name : dptr->failed ){
+				fprintf(stdout, "  %s\n", failed_name );
+			}
 		}
 
 		dptr = dptr->next;
diff --git a/src/test/cpp/abts.h b/src/test/cpp/abts.h
index 616250b..c3fb6f6 100644
--- a/src/test/cpp/abts.h
+++ b/src/test/cpp/abts.h
@@ -17,6 +17,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <vector>
+#include <string>
 
 #include <apr.h>
 
@@ -40,7 +42,7 @@ struct sub_suite
 {
 	const char* name;
 	int num_test;
-	int failed;
+	std::vector<const char*> failed;
 	int not_run;
 	int not_impl;
 	struct sub_suite* next;
@@ -66,7 +68,7 @@ typedef void (*test_func)(abts_case* tc, void* data);
 #define ADD_SUITE(suite) abts_add_suite(suite, __FILE__);
 
 abts_suite* abts_add_suite(abts_suite* suite, const char* suite_name);
-void abts_run_test(abts_suite* ts, test_func f, void* value);
+void abts_run_test(abts_suite* ts, const char* name, test_func f, void* value);
 void abts_log_message(const char* fmt, ...);
 
 void abts_int_equal(abts_case* tc, const int expected, const int actual, int lineno);
diff --git a/src/test/cpp/logunit.cpp b/src/test/cpp/logunit.cpp
index 6d57a64..24331f7 100644
--- a/src/test/cpp/logunit.cpp
+++ b/src/test/cpp/logunit.cpp
@@ -253,9 +253,9 @@ LogUnit::TestSuite::TestSuite(const char* fname) : filename(fname), disabled(fal
 #endif
 }
 
-void LogUnit::TestSuite::addTest(const char*, test_func func)
+void LogUnit::TestSuite::addTest(const char* test_name, test_func func)
 {
-	test_funcs.push_back(func);
+	test_funcs.push_back({test_name,func});
 }
 
 std::string LogUnit::TestSuite::getName() const
@@ -281,7 +281,7 @@ abts_suite* TestSuite::run(abts_suite* suite) const
 		iter != test_funcs.end();
 		iter++)
 	{
-		abts_run_test(suite, *iter, NULL);
+		abts_run_test(suite, iter->first, *iter->second, NULL);
 	}
 
 	return suite;
diff --git a/src/test/cpp/logunit.h b/src/test/cpp/logunit.h
index 8987e15..6b8fbe3 100644
--- a/src/test/cpp/logunit.h
+++ b/src/test/cpp/logunit.h
@@ -182,7 +182,7 @@ class TestSuite
 	private:
 		TestSuite(const TestSuite&);
 		TestSuite& operator=(const TestSuite&);
-		typedef std::vector<test_func> TestList;
+		typedef std::vector<std::pair<const char*,test_func>> TestList;
 		TestList test_funcs;
 		std::string filename;
 		bool disabled;