On Tue, Dec 6, 2022 at 7:43 PM David Gow davidgow@google.com wrote:
On Thu, Dec 1, 2022 at 2:54 AM 'Daniel Latypov' via KUnit Development
<snip>
After this change, here's what the output in context would look like [13:40:46] =================== example (4 subtests) =================== [13:40:46] # example_simple_test: initializing [13:40:46] # example_simple_test: EXPECTATION FAILED at lib/kunit/kunit-example-test.c:29 [13:40:46] Expected 2 + 1 == 2, but [13:40:46] 2 + 1 == 3 (0x3) [13:40:46] [FAILED] example_simple_test [13:40:46] [SKIPPED] example_skip_test [13:40:46] [SKIPPED] example_mark_skipped_test [13:40:46] [PASSED] example_all_expect_macros_test [13:40:46] # example: initializing suite [13:40:46] # example: pass:1 fail:1 skip:2 total:4 [13:40:46] # Totals: pass:1 fail:1 skip:2 total:4 [13:40:46] ===================== [FAILED] example =====================
This example shows one minor cosmetic defect this approach has. The test counts lines prevent us from dedenting the suite-level output. But at the same time, any form of non-KUnit output would do the same unless it happened to be indented as well.
Signed-off-by: Daniel Latypov dlatypov@google.com
I agree that this is a good idea.
Personally, I think we could avoid some of the 'dedent' issues by disabling the test statistics lines when run via kunit.py (if raw_output is not enabled). That's probably better as a separate patch, though, so this looks good to go.
I was of a similar mindset initially, which is why I held off on sending this patch out. But as noted at the end of the commit desc, literally ~any kernel output will cause this to happen. And the whole point of this patch is to show such output, newly unmangled ;)
Secondly, only the kunit_{info,warn,err} logs are indented like this. I think most test output would be coming from code outside the test file, i.e. normal pr_info() calls.
But I figured I should still call it out somewhere in this email though, since it does look a bit strange. Maybe it didn't need to be as prominently as the commit desc.
Also, I was leaning towards just hiding it via some filtering in kunit_parser.py, but Rae's reply [1] made me more unsure about which way to go. So I'm thinking of leaving the lines in there for now. [1] https://lore.kernel.org/linux-kselftest/CA+GJov6QKNy5fxkiu0P29WDtFgNs0GP4T27...
Daniel