[Piglit] [PATCH 1/4] util: Add utility function to accumulate results of subtests

Ian Romanick idr at freedesktop.org
Fri Oct 4 18:10:58 PDT 2013


From: Ian Romanick <ian.d.romanick at intel.com>

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
 tests/util/piglit-util.c | 25 +++++++++++++++++++++++++
 tests/util/piglit-util.h |  4 ++++
 2 files changed, 29 insertions(+)

diff --git a/tests/util/piglit-util.c b/tests/util/piglit-util.c
index 71d55a7..20015ce 100644
--- a/tests/util/piglit-util.c
+++ b/tests/util/piglit-util.c
@@ -206,6 +206,31 @@ piglit_report_subtest_result(enum piglit_result result, const char *format, ...)
 	va_end(ap);
 }
 
+enum piglit_result
+piglit_update_result_from_subtest_result(enum piglit_result result,
+					 enum piglit_result subtest_result)
+{
+	switch (subtest_result) {
+	case PIGLIT_PASS:
+		if (result == PIGLIT_SKIP)
+			result = PIGLIT_PASS;
+		break;
+	case PIGLIT_FAIL:
+		result = PIGLIT_FAIL;
+		break;
+	case PIGLIT_WARN:
+		if (result != PIGLIT_FAIL)
+			result = PIGLIT_WARN;
+		break;
+	case PIGLIT_SKIP:
+		/* Only report skip if both result and subtest_result are skip.
+		 */
+		break;
+	}
+
+	return result;
+}
+
 #ifndef HAVE_STRCHRNUL
 char *strchrnul(const char *s, int c)
 {
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index 52f053e..6c2fb2d 100644
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -140,6 +140,10 @@ void piglit_report_result(enum piglit_result result);
 void piglit_report_subtest_result(enum piglit_result result,
 				  const char *format, ...) PRINTFLIKE(2, 3);
 
+enum piglit_result
+piglit_update_result_from_subtest_result(enum piglit_result result,
+					 enum piglit_result subtest_result);
+
 #ifndef HAVE_STRCHRNUL
 char *strchrnul(const char *s, int c);
 #endif
-- 
1.8.1.4



More information about the Piglit mailing list