Re: [PATCH v5 3/6] selftests/resctrl: Fix resctrl_tests' return code to work with selftest framework

From: Reinette Chatre
Date: Fri Mar 11 2022 - 18:13:36 EST


Hi Shaopeng Tan,

On 3/10/2022 11:21 PM, Shaopeng Tan wrote:
> In kselftest framework, if a sub test can not run by some reasons,
> the test result should be marked as SKIP rather than FAIL.
> Return KSFT_SKIP(4) instead of KSFT_FAIL(1) if resctrl_tests is not run
> as root or it is run on a test environment which does not support resctrl.
>
> - ksft_exit_fail_msg(): returns KSFT_FAIL(1)
> - ksft_exit_skip(): returns KSFT_SKIP(4)
>
> Reviewed-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx>
> ---
> tools/testing/selftests/resctrl/resctrl_tests.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
> index 973f09a66e1e..a44afb05b848 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -205,7 +205,7 @@ int main(int argc, char **argv)
> * 2. We execute perf commands
> */
> if (geteuid() != 0)
> - return ksft_exit_fail_msg("Not running as root, abort testing.\n");
> + return ksft_exit_skip("Not running as root. Skipping...\n");
>
> /* Detect AMD vendor */
> detect_amd();
> @@ -235,7 +235,7 @@ int main(int argc, char **argv)
> sprintf(bm_type, "fill_buf");
>
> if (!check_resctrlfs_support())
> - return ksft_exit_fail_msg("resctrl FS does not exist\n");
> + return ksft_exit_skip("resctrl FS does not exist. Enable X86_CPU_RESCTRL and PROC_CPU_RESCTRL config options.\n");

The resctrl tests do not depend on or exercise the code enabled when PROC_CPU_RESCTRL
is set so there is no need to require users to enable it. It (PROC_CPU_RESCTRL) is
automatically selected anyway if PROC_FS is enabled.

An explicit check for the existence of /proc/{pid}/cpu_resctrl_groups would be
required if somebody ever does add a resctrl test to exercise the code enabled
by that config. There is no need to require that setting now.

Thus could just be "resctrl FS does not exist. Enable X86_CPU_RESCTRL config option."

>
> filter_dmesg();
>

Reinette