kunit: Run all KUnit tests through allyesconfig
authorHeidi Fahim <heidifahim@google.com>
Mon, 16 Mar 2020 20:21:25 +0000 (13:21 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Fri, 20 Mar 2020 22:17:39 +0000 (16:17 -0600)
commit021ed9f551da33449a5238e45e849913422671d7
tree082d59c441cadb738307558eda0697d73fc6d8f9
parentafc63da64f1e5e41875c98707020e85050f8a0c5
kunit: Run all KUnit tests through allyesconfig

Implemented the functionality to run all KUnit tests through kunit_tool
by specifying an --alltests flag, which builds UML with allyesconfig
enabled, and consequently runs every KUnit test. A new function was
added to kunit_kernel: make_allyesconfig.
Firstly, if --alltests is specified, kunit.py triggers build_um_kernel
which call make_allyesconfig. This function calls the make command,
disables the broken configs that would otherwise prevent UML from
building, then starts the kernel with all possible configurations
enabled. All stdout and stderr is sent to test.log and read from there
then fed through kunit_parser to parse the tests to the user. Also added
a signal_handler in case kunit is interrupted while running.
Tested: Run under different conditions such as testing with
--raw_output, testing program interrupt then immediately running kunit
again without --alltests and making sure to clean the console.

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/configs/broken_on_uml.config [new file with mode: 0644]
tools/testing/kunit/kunit.py
tools/testing/kunit/kunit_kernel.py
tools/testing/kunit/kunit_parser.py
tools/testing/kunit/kunit_tool_test.py