selftests/resctrl: Use correct exit code when tests fail

Message ID 20230309145757.2280518-1-peternewman@google.com
State New
Headers
Series selftests/resctrl: Use correct exit code when tests fail |

Commit Message

Peter Newman March 9, 2023, 2:57 p.m. UTC
  Use ksft_finished() after running tests so that resctrl_tests doesn't
return exit code 0 when tests fail.

Consequently, report the MBA and MBM tests as skipped when running on
non-Intel hardware, otherwise resctrl_tests will exit with a failure
code.

Signed-off-by: Peter Newman <peternewman@google.com>
---
 tools/testing/selftests/resctrl/resctrl_tests.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)


base-commit: c9c3395d5e3dcc6daee66c6908354d47bf98cb0c
  

Comments

Shaopeng Tan (Fujitsu) March 15, 2023, 1:25 a.m. UTC | #1
Hi Peter,

> Subject: [PATCH] selftests/resctrl: Use correct exit code when tests fail
> 
> Use ksft_finished() after running tests so that resctrl_tests doesn't return exit
> code 0 when tests fail.
> 
> Consequently, report the MBA and MBM tests as skipped when running on
> non-Intel hardware, otherwise resctrl_tests will exit with a failure code.
> 
> Signed-off-by: Peter Newman <peternewman@google.com>
> ---
>  tools/testing/selftests/resctrl/resctrl_tests.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c
> b/tools/testing/selftests/resctrl/resctrl_tests.c
> index df0d8d8526fc..69ebb0d7fff6 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -77,7 +77,7 @@ static void run_mbm_test(bool has_ben, char
> **benchmark_cmd, int span,
> 
>  	ksft_print_msg("Starting MBM BW change ...\n");
> 
> -	if (!validate_resctrl_feature_request(MBM_STR)) {
> +	if (!validate_resctrl_feature_request(MBM_STR) || (get_vendor() !=
> +ARCH_INTEL)) {
>  		ksft_test_result_skip("Hardware does not support MBM or
> MBM is disabled\n");
>  		return;
>  	}
> @@ -98,7 +98,7 @@ static void run_mba_test(bool has_ben, char
> **benchmark_cmd, int span,
> 
>  	ksft_print_msg("Starting MBA Schemata change ...\n");
> 
> -	if (!validate_resctrl_feature_request(MBA_STR)) {
> +	if (!validate_resctrl_feature_request(MBA_STR) || (get_vendor() !=
> +ARCH_INTEL)) {
>  		ksft_test_result_skip("Hardware does not support MBA or
> MBA is disabled\n");
>  		return;
>  	}
> @@ -258,10 +258,10 @@ int main(int argc, char **argv)
> 
>  	ksft_set_plan(tests ? : 4);
> 
> -	if ((get_vendor() == ARCH_INTEL) && mbm_test)
> +	if (mbm_test)
>  		run_mbm_test(has_ben, benchmark_cmd, span, cpu_no,
> bw_report);
> 
> -	if ((get_vendor() == ARCH_INTEL) && mba_test)
> +	if (mba_test)
>  		run_mba_test(has_ben, benchmark_cmd, span, cpu_no,
> bw_report);
> 
>  	if (cmt_test)
> @@ -272,5 +272,5 @@ int main(int argc, char **argv)
> 
>  	umount_resctrlfs();
> 
> -	return ksft_exit_pass();
> +	ksft_finished();
>  }
> 
> base-commit: c9c3395d5e3dcc6daee66c6908354d47bf98cb0c
> --
> 2.40.0.rc1.284.g88254d51c5-goog

I think it is no problem.
Reviewed-by: Shaopeng Tan <tan.shaopeng@fujitsu.com>
Tested-by: Shaopeng Tan <tan.shaopeng@fujitsu.com>

Best regards,
Shaopeng TAN
  
Reinette Chatre March 17, 2023, 5:49 p.m. UTC | #2
Hi Peter,

On 3/9/2023 6:57 AM, Peter Newman wrote:
> Use ksft_finished() after running tests so that resctrl_tests doesn't
> return exit code 0 when tests fail.
> 
> Consequently, report the MBA and MBM tests as skipped when running on
> non-Intel hardware, otherwise resctrl_tests will exit with a failure
> code.
> 
> Signed-off-by: Peter Newman <peternewman@google.com>
> ---

Thank you very much.

Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>

Reinette
  

Patch

diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
index df0d8d8526fc..69ebb0d7fff6 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -77,7 +77,7 @@  static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span,
 
 	ksft_print_msg("Starting MBM BW change ...\n");
 
-	if (!validate_resctrl_feature_request(MBM_STR)) {
+	if (!validate_resctrl_feature_request(MBM_STR) || (get_vendor() != ARCH_INTEL)) {
 		ksft_test_result_skip("Hardware does not support MBM or MBM is disabled\n");
 		return;
 	}
@@ -98,7 +98,7 @@  static void run_mba_test(bool has_ben, char **benchmark_cmd, int span,
 
 	ksft_print_msg("Starting MBA Schemata change ...\n");
 
-	if (!validate_resctrl_feature_request(MBA_STR)) {
+	if (!validate_resctrl_feature_request(MBA_STR) || (get_vendor() != ARCH_INTEL)) {
 		ksft_test_result_skip("Hardware does not support MBA or MBA is disabled\n");
 		return;
 	}
@@ -258,10 +258,10 @@  int main(int argc, char **argv)
 
 	ksft_set_plan(tests ? : 4);
 
-	if ((get_vendor() == ARCH_INTEL) && mbm_test)
+	if (mbm_test)
 		run_mbm_test(has_ben, benchmark_cmd, span, cpu_no, bw_report);
 
-	if ((get_vendor() == ARCH_INTEL) && mba_test)
+	if (mba_test)
 		run_mba_test(has_ben, benchmark_cmd, span, cpu_no, bw_report);
 
 	if (cmt_test)
@@ -272,5 +272,5 @@  int main(int argc, char **argv)
 
 	umount_resctrlfs();
 
-	return ksft_exit_pass();
+	ksft_finished();
 }