Re: [PATCH v3 05/21] selftests/resctrl: Return if resctrl file system is not supported

Shuah Khan
2020-10-27T21:40:56Z

On 10/20/20 5:51 PM, Fenghua Yu wrote:
> check_resctrlfs_support() checks if the platform supports resctrl file
> system or not by looking for resctrl in /proc/filesystems and returns a
> boolean value. The main function of resctrl test suite calls
> check_resctrlfs_support() but forgets to check for it's return value. This
> means that resctrl test suite will attempt to run resctrl tests (like CMT,
> CAT, MBM and MBA) even if the platform doesn't support resctrl file system.
>
> Fix this by checking for the return value of check_resctrlfs_support() in
> the main function. If resctrl file system isn't supported on the platform
> then exit the test suite gracefully without attempting to run any of
> resctrl unit tests.
>
> Fixes: ecdbb911f22d ("selftests/resctrl: Add MBM test")
> Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
> ---
> tools/testing/selftests/resctrl/resctrl_tests.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
> index b2a560c0c5dc..d24de546d4ef 100644
> --- a/tools/testing/selftests/resctrl/resctrl_tests.c
> +++ b/tools/testing/selftests/resctrl/resctrl_tests.c
> @@ -155,7 +155,11 @@ int main(int argc, char **argv)
> sprintf(bw_report, "reads");
> sprintf(bm_type, "fill_buf");
>
> - check_resctrlfs_support();
> + if (!check_resctrlfs_support()) {
> + printf("Bail out! resctrl FS does not exist\n");
> + goto out;
> + }
> +

Adding config file makes sense to specify dependencies.

> filter_dmesg();
>
> if (!is_amd && mbm_test) {
> @@ -196,6 +200,7 @@ int main(int argc, char **argv)
> cat_test_cleanup();
> }
>
> +out:
> printf("1..%d\n", tests_run);
>
> return 0;
>

thanks,
-- Shuah