diff mbox series

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

Message ID 20201020235126.1871815-6-fenghua.yu@intel.com
State New
Headers show
Series Miscellaneous fixes for resctrl selftests | expand

Commit Message

Fenghua Yu Oct. 20, 2020, 11:51 p.m. UTC
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(-)

Comments

Shuah Khan Oct. 27, 2020, 9:34 p.m. UTC | #1
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
diff mbox series

Patch

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;
+	}
+
 	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;