Hi Shaopeng, On 11/1/2022 2:43 AM, Shaopeng Tan wrote: > Before exiting each test function(run_cmt/cat/mbm/mba_test()), > test results("ok","not ok") are printed by ksft_test_result() and then > temporary result files are cleaned by function > cmt/cat/mbm/mba_test_cleanup(). > However, before running ksft_test_result(), > function cmt/cat/mbm/mba_test_cleanup() > has been run in each test function as follows: > cmt_resctrl_val() > cat_perf_miss_val() > mba_schemata_change() > mbm_bw_change() > > Remove duplicate codes that clear each test result file. > > Signed-off-by: Shaopeng Tan <tan.shaopeng@xxxxxxxxxxxxxx> > --- > tools/testing/selftests/resctrl/resctrl_tests.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c b/tools/testing/selftests/resctrl/resctrl_tests.c > index df0d8d8526fc..8732cf736528 100644 > --- a/tools/testing/selftests/resctrl/resctrl_tests.c > +++ b/tools/testing/selftests/resctrl/resctrl_tests.c > @@ -88,7 +88,6 @@ static void run_mbm_test(bool has_ben, char **benchmark_cmd, int span, > ksft_test_result(!res, "MBM: bw change\n"); > if ((get_vendor() == ARCH_INTEL) && res) > ksft_print_msg("Intel MBM may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n"); > - mbm_test_cleanup(); > } > >From what I can tell this still seem to suffer from the problem where the test files may not be cleaned. With the removal of mbm_test_cleanup() the cleanup is now expected to be done in mbm_bw_change(). Note that: mbm_bw_change() { ... ret = resctrl_val(benchmark_cmd, ¶m); if (ret) return ret; /* Test results stored in file */ ret = check_results(span); if (ret) return ret; <== Return without cleaning test result file mbm_test_cleanup(); <== Test result file cleaned only when test passed. return 0; } > static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, > @@ -107,7 +106,6 @@ static void run_mba_test(bool has_ben, char **benchmark_cmd, int span, > sprintf(benchmark_cmd[1], "%d", span); > res = mba_schemata_change(cpu_no, bw_report, benchmark_cmd); > ksft_test_result(!res, "MBA: schemata change\n"); > - mba_test_cleanup(); > } mba_schemata_change() has the same pattern as mbm_bw_change() so test result files may linger when test fails. > > static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) > @@ -126,7 +124,6 @@ static void run_cmt_test(bool has_ben, char **benchmark_cmd, int cpu_no) > ksft_test_result(!res, "CMT: test\n"); > if ((get_vendor() == ARCH_INTEL) && res) > ksft_print_msg("Intel CMT may be inaccurate when Sub-NUMA Clustering is enabled. Check BIOS configuration.\n"); > - cmt_test_cleanup(); > } Same pattern again. > > static void run_cat_test(int cpu_no, int no_of_bits) > @@ -142,7 +139,6 @@ static void run_cat_test(int cpu_no, int no_of_bits) > > res = cat_perf_miss_val(cpu_no, no_of_bits, "L3"); > ksft_test_result(!res, "CAT: test\n"); > - cat_test_cleanup(); > } Patch 4 makes this work. Thanks for doing that. Reinette