selftests/resctrl: Use correct exit code when tests fail
authorPeter Newman <peternewman@google.com>
Thu, 9 Mar 2023 14:57:57 +0000 (15:57 +0100)
committerShuah Khan <skhan@linuxfoundation.org>
Thu, 13 Apr 2023 17:33:00 +0000 (11:33 -0600)
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>
Reviewed-by: Shaopeng Tan <tan.shaopeng@fujitsu.com>
Tested-by: Shaopeng Tan <tan.shaopeng@fujitsu.com>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/resctrl/resctrl_tests.c

index df0d8d8526fc6c91b7b622776c78d41e9d0ab7c0..69ebb0d7fff661cb597ea005cedbd0876342476a 100644 (file)
@@ -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();
 }