From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 22 Dec 2017 10:21:51 +0000 (+0000)
Subject: test: register test as failed if setup failed
X-Git-Tag: spdx-start~241
X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=69a95070111f37fb1c7d7ee11956aff2865f6c11;p=dpdk.git

test: register test as failed if setup failed

If test set up couldn't be completed, the test was previously
shown as succeeding, even though setup failed. Fix this to report
test as failed, and count all tests that should've been executed,
as failed as well.

Fixes: ffac67b1f71b ("app/test: new assert macros and test suite runner")
Cc: stable@dpdk.org

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
---

diff --git a/test/test/test.c b/test/test/test.c
index af1b1bf9d9..44dfe20efe 100644
--- a/test/test/test.c
+++ b/test/test/test.c
@@ -149,8 +149,20 @@ unit_test_suite_runner(struct unit_test_suite *suite)
 	}
 
 	if (suite->setup)
-		if (suite->setup() != 0)
+		if (suite->setup() != 0) {
+			/*
+			 * setup failed, so count all enabled tests and mark
+			 * them as failed
+			 */
+			while (suite->unit_test_cases[total].testcase) {
+				if (!suite->unit_test_cases[total].enabled)
+					skipped++;
+				else
+					failed++;
+				total++;
+			}
 			goto suite_summary;
+		}
 
 	printf(" + ------------------------------------------------------- +\n");