mbox series

[v4,0/3] selftests/resctrl: Simplify test cleanup functions

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

Message

Maciej Wieczor-Retman Feb. 26, 2024, 1:05 p.m. UTC
Cleaning up after tests is implemented separately for individual tests
and called at the end of each test execution. Since these functions are
very similar and a more generalized test framework was introduced a
function pointer in the resctrl_test struct can be used to reduce the
amount of function calls.

These functions are also all called in the ctrl-c handler because the
handler isn't aware which test is currently running. Since the handler
is implemented with a sigaction no function parameters can be passed
there but information about what test is currently running can be passed
with a global variable.

Series applies cleanly on top of kselftests/next.

Changelog v4:
- Check current_test pointer and reset it in signal unregistering.
- Move cleanup call to test_cleanup function.

Changelog v3:
- Make current_test static.
- Add callback NULL check to the ctrl-c handler.

Changelog v2:
- Make current_test a const pointer limited in scope to resctrl_val
  file.
- Remove tests_cleanup from resctrl.h.
- Cleanup 'goto out' path and labels in individual test functions.

Older versions of this series:
[v1] https://lore.kernel.org/all/cover.1708434017.git.maciej.wieczor-retman@intel.com/
[v2] https://lore.kernel.org/all/cover.1708596015.git.maciej.wieczor-retman@intel.com/
[v3] https://lore.kernel.org/all/cover.1708599491.git.maciej.wieczor-retman@intel.com/

Maciej Wieczor-Retman (3):
  selftests/resctrl: Add cleanup function to test framework
  selftests/resctrl: Simplify cleanup in ctrl-c handler
  selftests/resctrl: Move cleanups out of individual tests

 tools/testing/selftests/resctrl/cat_test.c    |  8 +++-----
 tools/testing/selftests/resctrl/cmt_test.c    |  4 ++--
 tools/testing/selftests/resctrl/mba_test.c    |  8 +++-----
 tools/testing/selftests/resctrl/mbm_test.c    |  8 +++-----
 tools/testing/selftests/resctrl/resctrl.h     |  9 +++------
 .../testing/selftests/resctrl/resctrl_tests.c | 20 +++++++------------
 tools/testing/selftests/resctrl/resctrl_val.c |  8 ++++++--
 7 files changed, 27 insertions(+), 38 deletions(-)

Comments

Reinette Chatre Feb. 27, 2024, 12:49 a.m. UTC | #1
Hi Maciej,

On 2/26/2024 5:05 AM, Maciej Wieczor-Retman wrote:
> Cleaning up after tests is implemented separately for individual tests
> and called at the end of each test execution. Since these functions are
> very similar and a more generalized test framework was introduced a
> function pointer in the resctrl_test struct can be used to reduce the
> amount of function calls.
> 
> These functions are also all called in the ctrl-c handler because the
> handler isn't aware which test is currently running. Since the handler
> is implemented with a sigaction no function parameters can be passed
> there but information about what test is currently running can be passed
> with a global variable.
> 
> Series applies cleanly on top of kselftests/next.

Could you please rebase again? This series does not apply cleanly when
I tested with latest kselftest/next at
ae638551ab64 ("selftests/resctrl: Add non-contiguous CBMs CAT test")

With this addressed, for the whole series:
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>

Thank you very much.

Reinette