On 3/26/24 13:17, Shuah Khan wrote:
On 3/25/24 08:29, Mark Brown wrote:
The test results reported for the clone3_set_tid tests interact poorly with automation for running kselftest since the reported test names include TIDs dynamically allocated at runtime. A lot of automation for running kselftest will compare runs by looking at the test name to identify if the same test is being run so changing names make it look like the testsuite has been updated to include new tests. This makes the results display less clearly and breaks cases like bisection.
Address this by providing a brief description of the tests and logging that along with the stable parameters for the test currently logged. The TIDs are already logged separately in existing logging except for the final test which has a new log message added. We also tweak the formatting of the logging of expected/actual values for clarity.
There are still issues with the logging of skipped tests (many are simply not logged at all when skipped and all are logged with different names) but these are less disruptive since the skips are all based on not being run as root, a condition likely to be stable for a given test system.
Acked-by: Christian Brauner brauner@kernel.org Signed-off-by: Mark Brown broonie@kernel.org
Changes in v3:
- Rebase onto v6.9-rc1.
- This is the second release I've posted this for with no changes or
review comments.
Thank you for patience. Applied now to linux-kselftest fixes for next rc.
Mark,
I am seeing the following compile warnings. Please fix and send patch on top pf linux-kselftest fixes.
clone3_set_tid.c: In function ‘test_clone3_set_tid’: clone3_set_tid.c:136:43: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=] 136 | ksft_test_result(ret == expected, "%s with %d TIDs and flags 0x%x\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 137 | desc, set_tid_size, flags); | ~~~~~~~~~~~~ | | | size_t {aka long unsigned int} ../kselftest.h:210:39: note: in definition of macro ‘ksft_test_result’ 210 | ksft_test_result_pass(fmt, ##__VA_ARGS__);\ | ^~~ clone3_set_tid.c:136:53: note: format string is defined here 136 | ksft_test_result(ret == expected, "%s with %d TIDs and flags 0x%x\n", | ~^ | | | int | %ld clone3_set_tid.c:136:43: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t’ {aka ‘long unsigned int’} [-Wformat=] 136 | ksft_test_result(ret == expected, "%s with %d TIDs and flags 0x%x\n", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 137 | desc, set_tid_size, flags); | ~~~~~~~~~~~~ | | | size_t {aka long unsigned int} ../kselftest.h:212:39: note: in definition of macro ‘ksft_test_result’ 212 | ksft_test_result_fail(fmt, ##__VA_ARGS__);\ | ^~~ clone3_set_tid.c:136:53: note: format string is defined here 136 | ksft_test_result(ret == expected, "%s with %d TIDs and flags 0x%x\n", | ~^ | | | int | %ld
thanks, -- Shuah