On 2024-01-17 at 10:49:06 -0800, Reinette Chatre wrote: >Hi Maciej, > >On 1/17/2024 12:26 AM, Maciej Wieczór-Retman wrote: >> On 2024-01-08 at 14:42:11 -0800, Reinette Chatre wrote: >>> On 12/12/2023 6:52 AM, Maciej Wieczor-Retman wrote: > > >>>> + >>>> + if (sparse_masks != ((ecx >> 3) & 1)) >>>> + return -1; >>> >>> Can a message be displayed to support the debugging this test failure? >> >> Sure, that is a very good idea. I'll add ksft_perror() here. > >I do not think ksft_perror() is appropriate since perror() is for >system error messages (something that sets errno). Perhaps just >ksft_print_msg(). Thanks for the suggestion! > >>>> + bit_center = count_bits(full_cache_mask) / 2; >>>> + cont_mask = full_cache_mask >> bit_center; >>>> + >>>> + /* Contiguous mask write check. */ >>>> + snprintf(schemata, sizeof(schemata), "%lx", cont_mask); >>>> + ret = write_schemata("", schemata, uparams->cpu, test->resource); >>>> + if (ret) >>>> + return ret; >>> >>> How will user know what failed? I am seeing this single test exercise a few scenarios >>> and it is not obvious to me if the issue will be clear if this test, >>> noncont_cat_run_test(), fails. >> >> write_schemata() either succeeds with '0' or errors out with a negative value. If >> the contiguous mask write fails, write_schemata should print out what was wrong >> and I believe that the test will report an error rather than failure. > >Right. I am trying to understand whether the user will be able to decipher what failed >in case there is an error. Seems like in this case the user is expected to look at the >source code of the test to understand what the test was trying to do at the time it >encountered the failure. In this case user may be "lucky" that this test only has >one write_schemata() call _not_ followed by a ksft_print_msg() so user can use that >reasoning to figure out which write_schemata() failed to further dig what test was >trying to do. When a write_schemata() is executed the string that is being written gets printed. If there are multiple calls in a single tests and one fails I'd imagine it would be easy for the user to figure out which one failed. On a side note I'm not sure if that's true but I'm getting a feeling that the harder errors (not just test failures) are more of a clue for developers working on the tests. Would you agree that it seems like users probably won't see write_schemata() fail here (if the test execution managed to get to this point without erroring out due to bad parameters or kernel compiled without required options)? > >Reinette -- Kind regards Maciej Wieczór-Retman