diff mbox series

[3/3] selftests/resctrl: Move cleanups out of individual tests

Message ID 63b9763211c2954f0ef517a817b3bf0c482df8cd.1708434017.git.maciej.wieczor-retman@intel.com (mailing list archive)
State New
Headers show
Series selftests/resctrl: Simplify test cleanup functions | expand

Commit Message

Maciej Wieczor-Retman Feb. 20, 2024, 1:14 p.m. UTC
Every test calls its cleanup function at the end of it's test function.
After the cleanup function pointer is added to the test framework this
can be simplified to executing the callback function at the end of the
generic test running function.

Make test cleanup functions static and call them from the end of
run_single_test() from the resctrl_test's cleanup function pointer.

Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
---
 tools/testing/selftests/resctrl/cat_test.c      | 4 +---
 tools/testing/selftests/resctrl/cmt_test.c      | 3 +--
 tools/testing/selftests/resctrl/mba_test.c      | 4 +---
 tools/testing/selftests/resctrl/mbm_test.c      | 4 +---
 tools/testing/selftests/resctrl/resctrl.h       | 4 ----
 tools/testing/selftests/resctrl/resctrl_tests.c | 2 ++
 6 files changed, 6 insertions(+), 15 deletions(-)

Comments

Ilpo Järvinen Feb. 20, 2024, 1:49 p.m. UTC | #1
On Tue, 20 Feb 2024, Maciej Wieczor-Retman wrote:

> Every test calls its cleanup function at the end of it's test function.
> After the cleanup function pointer is added to the test framework this
> can be simplified to executing the callback function at the end of the
> generic test running function.
> 
> Make test cleanup functions static and call them from the end of
> run_single_test() from the resctrl_test's cleanup function pointer.
> 
> Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
> ---
>  tools/testing/selftests/resctrl/cat_test.c      | 4 +---
>  tools/testing/selftests/resctrl/cmt_test.c      | 3 +--
>  tools/testing/selftests/resctrl/mba_test.c      | 4 +---
>  tools/testing/selftests/resctrl/mbm_test.c      | 4 +---
>  tools/testing/selftests/resctrl/resctrl.h       | 4 ----
>  tools/testing/selftests/resctrl/resctrl_tests.c | 2 ++
>  6 files changed, 6 insertions(+), 15 deletions(-)
> 
> diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
> index 2d2f69d3e5b7..ad5ebce65c07 100644
> --- a/tools/testing/selftests/resctrl/cat_test.c
> +++ b/tools/testing/selftests/resctrl/cat_test.c
> @@ -128,7 +128,7 @@ static int check_results(struct resctrl_val_param *param, const char *cache_type
>  	return fail;
>  }
>  
> -void cat_test_cleanup(void)
> +static void cat_test_cleanup(void)
>  {
>  	remove(RESULT_FILE_NAME);
>  }
> @@ -289,8 +289,6 @@ static int cat_run_test(const struct resctrl_test *test, const struct user_param
>  	ret = check_results(&param, test->resource,
>  			    cache_total_size, full_cache_mask, start_mask);
>  out:
> -	cat_test_cleanup();
> -

Any goto out can now become return ret; and the out label be then removed.
Maciej Wieczor-Retman Feb. 20, 2024, 2:08 p.m. UTC | #2
On 2024-02-20 at 15:49:16 +0200, Ilpo Järvinen wrote:
>On Tue, 20 Feb 2024, Maciej Wieczor-Retman wrote:
>
>> Every test calls its cleanup function at the end of it's test function.
>> After the cleanup function pointer is added to the test framework this
>> can be simplified to executing the callback function at the end of the
>> generic test running function.
>> 
>> Make test cleanup functions static and call them from the end of
>> run_single_test() from the resctrl_test's cleanup function pointer.
>> 
>> Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
>> ---
>>  tools/testing/selftests/resctrl/cat_test.c      | 4 +---
>>  tools/testing/selftests/resctrl/cmt_test.c      | 3 +--
>>  tools/testing/selftests/resctrl/mba_test.c      | 4 +---
>>  tools/testing/selftests/resctrl/mbm_test.c      | 4 +---
>>  tools/testing/selftests/resctrl/resctrl.h       | 4 ----
>>  tools/testing/selftests/resctrl/resctrl_tests.c | 2 ++
>>  6 files changed, 6 insertions(+), 15 deletions(-)
>> 
>> diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
>> index 2d2f69d3e5b7..ad5ebce65c07 100644
>> --- a/tools/testing/selftests/resctrl/cat_test.c
>> +++ b/tools/testing/selftests/resctrl/cat_test.c
>> @@ -128,7 +128,7 @@ static int check_results(struct resctrl_val_param *param, const char *cache_type
>>  	return fail;
>>  }
>>  
>> -void cat_test_cleanup(void)
>> +static void cat_test_cleanup(void)
>>  {
>>  	remove(RESULT_FILE_NAME);
>>  }
>> @@ -289,8 +289,6 @@ static int cat_run_test(const struct resctrl_test *test, const struct user_param
>>  	ret = check_results(&param, test->resource,
>>  			    cache_total_size, full_cache_mask, start_mask);
>>  out:
>> -	cat_test_cleanup();
>> -
>
>Any goto out can now become return ret; and the out label be then removed.

Right, thanks, I'll clean these up.

>
>
>-- 
> i.
>
diff mbox series

Patch

diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
index 2d2f69d3e5b7..ad5ebce65c07 100644
--- a/tools/testing/selftests/resctrl/cat_test.c
+++ b/tools/testing/selftests/resctrl/cat_test.c
@@ -128,7 +128,7 @@  static int check_results(struct resctrl_val_param *param, const char *cache_type
 	return fail;
 }
 
-void cat_test_cleanup(void)
+static void cat_test_cleanup(void)
 {
 	remove(RESULT_FILE_NAME);
 }
@@ -289,8 +289,6 @@  static int cat_run_test(const struct resctrl_test *test, const struct user_param
 	ret = check_results(&param, test->resource,
 			    cache_total_size, full_cache_mask, start_mask);
 out:
-	cat_test_cleanup();
-
 	return ret;
 }
 
diff --git a/tools/testing/selftests/resctrl/cmt_test.c b/tools/testing/selftests/resctrl/cmt_test.c
index 32ddee87e43d..c477f3c9635f 100644
--- a/tools/testing/selftests/resctrl/cmt_test.c
+++ b/tools/testing/selftests/resctrl/cmt_test.c
@@ -91,7 +91,7 @@  static int check_results(struct resctrl_val_param *param, size_t span, int no_of
 				 MAX_DIFF, MAX_DIFF_PERCENT, runs - 1, true);
 }
 
-void cmt_test_cleanup(void)
+static void cmt_test_cleanup(void)
 {
 	remove(RESULT_FILE_NAME);
 }
@@ -161,7 +161,6 @@  static int cmt_run_test(const struct resctrl_test *test, const struct user_param
 		ksft_print_msg("Intel CMT may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n");
 
 out:
-	cmt_test_cleanup();
 	free(span_str);
 
 	return ret;
diff --git a/tools/testing/selftests/resctrl/mba_test.c b/tools/testing/selftests/resctrl/mba_test.c
index 7cc4067ce930..e4cd484941ec 100644
--- a/tools/testing/selftests/resctrl/mba_test.c
+++ b/tools/testing/selftests/resctrl/mba_test.c
@@ -137,7 +137,7 @@  static int check_results(void)
 	return show_mba_info(bw_imc, bw_resc);
 }
 
-void mba_test_cleanup(void)
+static void mba_test_cleanup(void)
 {
 	remove(RESULT_FILE_NAME);
 }
@@ -163,8 +163,6 @@  static int mba_run_test(const struct resctrl_test *test, const struct user_param
 	ret = check_results();
 
 out:
-	mba_test_cleanup();
-
 	return ret;
 }
 
diff --git a/tools/testing/selftests/resctrl/mbm_test.c b/tools/testing/selftests/resctrl/mbm_test.c
index 071e2d3808a7..405edd7df816 100644
--- a/tools/testing/selftests/resctrl/mbm_test.c
+++ b/tools/testing/selftests/resctrl/mbm_test.c
@@ -105,7 +105,7 @@  static int mbm_setup(const struct resctrl_test *test,
 	return ret;
 }
 
-void mbm_test_cleanup(void)
+static void mbm_test_cleanup(void)
 {
 	remove(RESULT_FILE_NAME);
 }
@@ -133,8 +133,6 @@  static int mbm_run_test(const struct resctrl_test *test, const struct user_param
 		ksft_print_msg("Intel MBM may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n");
 
 out:
-	mbm_test_cleanup();
-
 	return ret;
 }
 
diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
index 79b45cbeb628..c2a74e11a65e 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -156,8 +156,6 @@  int resctrl_val(const struct resctrl_test *test,
 		const char * const *benchmark_cmd,
 		struct resctrl_val_param *param);
 void tests_cleanup(void);
-void mbm_test_cleanup(void);
-void mba_test_cleanup(void);
 unsigned long create_bit_mask(unsigned int start, unsigned int len);
 unsigned int count_contiguous_bits(unsigned long val, unsigned int *start);
 int get_full_cbm(const char *cache_type, unsigned long *mask);
@@ -166,9 +164,7 @@  int get_cache_size(int cpu_no, const char *cache_type, unsigned long *cache_size
 void ctrlc_handler(int signum, siginfo_t *info, void *ptr);
 int signal_handler_register(void);
 void signal_handler_unregister(void);
-void cat_test_cleanup(void);
 unsigned int count_bits(unsigned long n);
-void cmt_test_cleanup(void);
 
 void perf_event_attr_initialize(struct perf_event_attr *pea, __u64 config);
 void perf_event_initialize_read_format(struct perf_event_read *pe_read);
diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c
index b17f7401892c..e01937e798ee 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -142,6 +142,8 @@  static void run_single_test(const struct resctrl_test *test, const struct user_p
 	}
 
 	ret = test->run_test(test, uparams);
+	if (test->cleanup)
+		test->cleanup();
 	ksft_test_result(!ret, "%s: test\n", test->name);
 
 cleanup: