Hi Shuah and Reinette, > 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. > > This isn't making much sense to me. Please include test report before and after > this change in the change log. With or without this patch, there is no effect on the result message. These functions were executed twice, in brief, it runs as follows: - cmt/cat/mbm/mba_test_cleanup() - ksft_test_result() - cmt/cat/mbm/mba_test_cleanup() So, I deleted once. > 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; > } I intend to avoid this problem through the following codes. mbm_bw_change() { ret = resctrl_val(benchmark_cmd, ¶m); if (ret) - return ret; + goto out; ret = check_results(span); if (ret) - return ret; + goto out; +out: mbm_test_cleanup(); - return 0; + return ret; } Best regards, Shaopeng Tan