[dpdk-dev] test: register test as failed if setup failed

Message ID 432ebfd1f25d903f60b276790a3029c5480e3306.1513867661.git.anatoly.burakov@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Anatoly Burakov Dec. 22, 2017, 10:21 a.m. UTC
  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: declan.doherty@intel.com
Cc: stable@dpdk.org
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
---
 test/test/test.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
  

Comments

Doherty, Declan Jan. 10, 2018, 2:24 p.m. UTC | #1
On 22/12/2017 10:21 AM, Anatoly Burakov wrote:
> 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: declan.doherty@intel.com
> Cc: stable@dpdk.org
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> ---
>   test/test/test.c | 14 +++++++++++++-
>   1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/test/test/test.c b/test/test/test.c
> index 0e6ff7c..fe41d40 100644
> --- a/test/test/test.c
> +++ b/test/test/test.c
> @@ -162,8 +162,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");
>   
> 

Acked-by: Declan Doherty <declan.doherty@intel.com>
  
Thomas Monjalon Jan. 17, 2018, 11:14 p.m. UTC | #2
10/01/2018 15:24, Doherty, Declan:
> On 22/12/2017 10:21 AM, Anatoly Burakov wrote:
> > 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: declan.doherty@intel.com
> > Cc: stable@dpdk.org
> > Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> 
> Acked-by: Declan Doherty <declan.doherty@intel.com>

Applied, thanks
  

Patch

diff --git a/test/test/test.c b/test/test/test.c
index 0e6ff7c..fe41d40 100644
--- a/test/test/test.c
+++ b/test/test/test.c
@@ -162,8 +162,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");