kunit: kunit_parser: make parser more robust
authorHeidi Fahim <heidifahim@google.com>
Mon, 16 Mar 2020 20:21:24 +0000 (13:21 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 20 Mar 2020 22:15:57 +0000 (16:15 -0600)
commitafc63da64f1e5e41875c98707020e85050f8a0c5
treeadd22c335b92cc5a6b2d6a500e39d3d82111eed2
parent2c523b344dfa65a3738e7039832044aa133c75fb
kunit: kunit_parser: make parser more robust

Previously, kunit_parser did not properly handle kunit TAP output that
- had any prefixes (generated from different configs e.g.
CONFIG_PRINTK_TIME)
- had unrelated kernel output mixed in the middle of
it, which has shown up when testing with allyesconfig
To remove prefixes, the parser looks for the first line that includes
TAP output, "TAP version 14".  It then determines the length of the
string before this sequence, and strips that number of characters off
the beginning of the following lines until the last KUnit output line is
reached.
These fixes have been tested with additional tests in the
KUnitParseTest and their associated logs have also been added.

Signed-off-by: Heidi Fahim <heidifahim@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/kunit/.gitattributes [new file with mode: 0644]
tools/testing/kunit/kunit_parser.py
tools/testing/kunit/kunit_tool_test.py
tools/testing/kunit/test_data/test_config_printk_time.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_interrupted_tap_output.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_kernel_panic_interrupt.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_multiple_prefixes.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_output_with_prefix_isolated_correctly.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_pound_no_prefix.log [new file with mode: 0644]
tools/testing/kunit/test_data/test_pound_sign.log [new file with mode: 0644]