Currently --raw_output means nothing gets shown. Why? Because `raw_output()` has a `yield` and therefore is a generator, which means it only executes when you ask it for a value.
Given no one actually is using it as a generator (checked via the added type annotation), drop the yield so we actually print the output.
Also strip off the trailing \n (and any other whitespace) to avoid [<601d6d3a>] ? printk+0x0/0x9b
[<601e5058>] ? kernel_init+0x23/0x14b
[<600170d2>] ? new_thread_handler+0x82/0xc0 making the output unreadable.
Signed-off-by: Daniel Latypov dlatypov@google.com --- tools/testing/kunit/kunit_parser.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py index 8019e3dd4c32..c44bb7c27ce6 100644 --- a/tools/testing/kunit/kunit_parser.py +++ b/tools/testing/kunit/kunit_parser.py @@ -63,10 +63,9 @@ def isolate_kunit_output(kernel_output): elif started: yield line[prefix_len:] if prefix_len > 0 else line
-def raw_output(kernel_output): +def raw_output(kernel_output) -> None: for line in kernel_output: - print(line) - yield line + print(line.rstrip())
DIVIDER = '=' * 60
base-commit: 07e0887302450a62f51dba72df6afb5fabb23d1c
On Fri, Oct 30, 2020 at 2:17 PM Daniel Latypov dlatypov@google.com wrote:
Currently --raw_output means nothing gets shown. Why? Because `raw_output()` has a `yield` and therefore is a generator, which means it only executes when you ask it for a value.
Given no one actually is using it as a generator (checked via the added type annotation), drop the yield so we actually print the output.
Also strip off the trailing \n (and any other whitespace) to avoid [<601d6d3a>] ? printk+0x0/0x9b
[<601e5058>] ? kernel_init+0x23/0x14b
[<600170d2>] ? new_thread_handler+0x82/0xc0 making the output unreadable.
Signed-off-by: Daniel Latypov dlatypov@google.com
The bug where --raw_output doesn't show anything is already fixed[1], but it does still show the extra newlines.
Maybe it's worth making just the newline fix, and rolling it into the other patch[2] handling newlines?
Cheers, -- David
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git/co... [2]: https://lore.kernel.org/linux-kselftest/20201020233219.4146059-1-dlatypov@go...
On Fri, Oct 30, 2020 at 12:23 AM David Gow davidgow@google.com wrote:
On Fri, Oct 30, 2020 at 2:17 PM Daniel Latypov dlatypov@google.com wrote:
Currently --raw_output means nothing gets shown. Why? Because `raw_output()` has a `yield` and therefore is a generator, which means it only executes when you ask it for a value.
Given no one actually is using it as a generator (checked via the added type annotation), drop the yield so we actually print the output.
Also strip off the trailing \n (and any other whitespace) to avoid [<601d6d3a>] ? printk+0x0/0x9b
[<601e5058>] ? kernel_init+0x23/0x14b
[<600170d2>] ? new_thread_handler+0x82/0xc0 making the output unreadable.
Signed-off-by: Daniel Latypov dlatypov@google.com
The bug where --raw_output doesn't show anything is already fixed[1], but it does still show the extra newlines.
I'm not sure how I missed that, sorry for the noise.
Maybe it's worth making just the newline fix, and rolling it into the other patch[2] handling newlines?
Sounds good.
Cheers, -- David
linux-kselftest-mirror@lists.linaro.org