On Fri 2025-03-07 06:27:39, Tamir Duberstein wrote:
This gives us more granular test output.
Output before:
KTAP version 1 1..1 KTAP version 1 # Subtest: scanf # module: scanf_kunit 1..10 ok 1 numbers_simple KTAP version 1 # Subtest: numbers_list ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list: pass:5 fail:0 skip:0 total:5 ok 2 numbers_list KTAP version 1 # Subtest: numbers_list_field_width_typemax ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_typemax: pass:5 fail:0 skip:0 total:5 ok 3 numbers_list_field_width_typemax KTAP version 1 # Subtest: numbers_list_field_width_val_width ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_val_width: pass:5 fail:0 skip:0 total:5 ok 4 numbers_list_field_width_val_width ok 5 numbers_slice ok 6 numbers_prefix_overflow ok 7 test_simple_strtoull ok 8 test_simple_strtoll ok 9 test_simple_strtoul ok 10 test_simple_strtol # scanf: pass:10 fail:0 skip:0 total:10 # Totals: pass:22 fail:0 skip:0 total:22 ok 1 scanf
Output after:
KTAP version 1 1..1 KTAP version 1 # Subtest: scanf # module: scanf_kunit 1..21 ok 1 numbers_simple KTAP version 1 # Subtest: numbers_list_ll ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_ll: pass:5 fail:0 skip:0 total:5 ok 2 numbers_list_ll KTAP version 1 # Subtest: numbers_list_l ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_l: pass:5 fail:0 skip:0 total:5 ok 3 numbers_list_l KTAP version 1 # Subtest: numbers_list_d ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_d: pass:5 fail:0 skip:0 total:5 ok 4 numbers_list_d KTAP version 1 # Subtest: numbers_list_h ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_h: pass:5 fail:0 skip:0 total:5 ok 5 numbers_list_h KTAP version 1 # Subtest: numbers_list_hh ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_hh: pass:5 fail:0 skip:0 total:5 ok 6 numbers_list_hh KTAP version 1 # Subtest: numbers_list_field_width_ll ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_ll: pass:5 fail:0 skip:0 total:5 ok 7 numbers_list_field_width_ll KTAP version 1 # Subtest: numbers_list_field_width_l ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_l: pass:5 fail:0 skip:0 total:5 ok 8 numbers_list_field_width_l KTAP version 1 # Subtest: numbers_list_field_width_d ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_d: pass:5 fail:0 skip:0 total:5 ok 9 numbers_list_field_width_d KTAP version 1 # Subtest: numbers_list_field_width_h ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_h: pass:5 fail:0 skip:0 total:5 ok 10 numbers_list_field_width_h KTAP version 1 # Subtest: numbers_list_field_width_hh ok 1 " " ok 2 ":" ok 3 "," ok 4 "-" ok 5 "/" # numbers_list_field_width_hh: pass:5 fail:0 skip:0 total:5 ok 11 numbers_list_field_width_hh KTAP version 1 # Subtest: numbers_list_field_width_val_ll ok 1 "" ok 2 " " ok 3 ":" ok 4 "," ok 5 "-" ok 6 "/" # numbers_list_field_width_val_ll: pass:6 fail:0 skip:0 total:6 ok 12 numbers_list_field_width_val_ll KTAP version 1 # Subtest: numbers_list_field_width_val_l ok 1 "" ok 2 " " ok 3 ":" ok 4 "," ok 5 "-" ok 6 "/" # numbers_list_field_width_val_l: pass:6 fail:0 skip:0 total:6 ok 13 numbers_list_field_width_val_l KTAP version 1 # Subtest: numbers_list_field_width_val_d ok 1 "" ok 2 " " ok 3 ":" ok 4 "," ok 5 "-" ok 6 "/" # numbers_list_field_width_val_d: pass:6 fail:0 skip:0 total:6 ok 14 numbers_list_field_width_val_d KTAP version 1 # Subtest: numbers_list_field_width_val_h ok 1 "" ok 2 " " ok 3 ":" ok 4 "," ok 5 "-" ok 6 "/" # numbers_list_field_width_val_h: pass:6 fail:0 skip:0 total:6 ok 15 numbers_list_field_width_val_h KTAP version 1 # Subtest: numbers_list_field_width_val_hh ok 1 "" ok 2 " " ok 3 ":" ok 4 "," ok 5 "-" ok 6 "/" # numbers_list_field_width_val_hh: pass:6 fail:0 skip:0 total:6 ok 16 numbers_list_field_width_val_hh ok 17 numbers_prefix_overflow ok 18 test_simple_strtoull ok 19 test_simple_strtoll ok 20 test_simple_strtoul ok 21 test_simple_strtol # scanf: pass:21 fail:0 skip:0 total:21 # Totals: pass:86 fail:0 skip:0 total:86 ok 1 scanf
Signed-off-by: Tamir Duberstein tamird@gmail.com
Thanks for trying this. But I personally do not find this as a big win. It causes that the test log is longer than one screen and thus harder to review.
It might be fine when running only this test and running it only once. But I think that it is quite common to run more tests and then it is easy to get lost.
I guess that there are tools for handling the KTAP format which might make this easier but...
So, I would prefer to avoid this patch.
Best Regards, Petr