diff mbox

[i-g-t,2/2] lib: add exit status message to simple tests

Message ID 1422368744-14230-2-git-send-email-thomas.wood@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Thomas Wood Jan. 27, 2015, 2:25 p.m. UTC
Add an exit status message to simple tests, similar to the one printed
for subtests. This includes the test outcome and the time taken to run
the test.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
---
 lib/igt_core.c | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/lib/igt_core.c b/lib/igt_core.c
index 41f84bb..0ae6918 100644
--- a/lib/igt_core.c
+++ b/lib/igt_core.c
@@ -591,6 +591,9 @@  out:
 	/* install exit handler, to ensure we clean up */
 	igt_install_exit_handler(common_exit_handler);
 
+	if (!test_with_subtests)
+		gettime(&subtest_time);
+
 	return ret;
 }
 
@@ -975,8 +978,33 @@  void igt_exit(void)
 	kmsg(KERN_INFO "%s: exiting, ret=%d\n", command_str, igt_exitcode);
 	igt_debug("Exiting with status code %d\n", igt_exitcode);
 
-	if (!test_with_subtests)
+	if (!test_with_subtests) {
+		struct timespec now;
+		double elapsed;
+		const char *result;
+
+		gettime(&now);
+		elapsed = now.tv_sec - subtest_time.tv_sec;
+		elapsed += (now.tv_nsec - subtest_time.tv_nsec) * 1e-9;
+
+		switch (igt_exitcode) {
+			case IGT_EXIT_SUCCESS:
+				result = "SUCCESS";
+				break;
+			case IGT_EXIT_TIMEOUT:
+				result = "TIMEOUT";
+				break;
+			case IGT_EXIT_SKIP:
+				result = "SKIP";
+				break;
+			default:
+				result = "FAIL";
+		}
+
+
+		printf("%s (%.3fs)\n", result, elapsed);
 		exit(igt_exitcode);
+	}
 
 	/* Calling this without calling one of the above is a failure */
 	assert(skipped_one || succeeded_one || failed_one);