mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
selftests/resctrl: Add cleanup function to test framework
Resctrl selftests use very similar functions to cleanup after themselves. This creates a lot of code duplication. Also not being hooked to the test framework means that ctrl-c handler isn't aware of what test is currently running and executes all cleanups even though only one is needed. Add a function pointer to the resctrl_test struct and attach to it cleanup functions from individual tests. Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com> Reviewed-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
fa04b7ffc2
commit
8780bc88d4
@ -373,6 +373,7 @@ struct resctrl_test l3_cat_test = {
|
||||
.resource = "L3",
|
||||
.feature_check = test_resource_feature_check,
|
||||
.run_test = cat_run_test,
|
||||
.cleanup = cat_test_cleanup,
|
||||
};
|
||||
|
||||
struct resctrl_test l3_noncont_cat_test = {
|
||||
|
@ -178,4 +178,5 @@ struct resctrl_test cmt_test = {
|
||||
.resource = "L3",
|
||||
.feature_check = cmt_feature_check,
|
||||
.run_test = cmt_run_test,
|
||||
.cleanup = cmt_test_cleanup,
|
||||
};
|
||||
|
@ -180,4 +180,5 @@ struct resctrl_test mba_test = {
|
||||
.vendor_specific = ARCH_INTEL,
|
||||
.feature_check = mba_feature_check,
|
||||
.run_test = mba_run_test,
|
||||
.cleanup = mba_test_cleanup,
|
||||
};
|
||||
|
@ -150,4 +150,5 @@ struct resctrl_test mbm_test = {
|
||||
.vendor_specific = ARCH_INTEL,
|
||||
.feature_check = mbm_feature_check,
|
||||
.run_test = mbm_run_test,
|
||||
.cleanup = mbm_test_cleanup,
|
||||
};
|
||||
|
@ -72,6 +72,7 @@ struct user_params {
|
||||
* @disabled: Test is disabled
|
||||
* @feature_check: Callback to check required resctrl features
|
||||
* @run_test: Callback to run the test
|
||||
* @cleanup: Callback to cleanup after the test
|
||||
*/
|
||||
struct resctrl_test {
|
||||
const char *name;
|
||||
@ -82,6 +83,7 @@ struct resctrl_test {
|
||||
bool (*feature_check)(const struct resctrl_test *test);
|
||||
int (*run_test)(const struct resctrl_test *test,
|
||||
const struct user_params *uparams);
|
||||
void (*cleanup)(void);
|
||||
};
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user