kunit: tool: add Python wrappers for running KUnit tests

The ultimate goal is to create minimal isolated test binaries; in the
meantime we are using UML to provide the infrastructure to run tests, so
define an abstract way to configure and run tests that allow us to
change the context in which tests are built without affecting the user.
This also makes pretty and dynamic error reporting, and a lot of other
nice features easier.

kunit_config.py:
  - parse .config and Kconfig files.

kunit_kernel.py: provides helper functions to:
  - configure the kernel using kunitconfig.
  - build the kernel with the appropriate configuration.
  - provide function to invoke the kernel and stream the output back.

kunit_parser.py: parses raw logs returned out by kunit_kernel and
displays them in a user friendly way.

test_data/*: samples of test data for testing kunit.py, kunit_config.py,
etc.

Signed-off-by: Felix Guo <felixguoxiuping@gmail.com>
Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Felix Guo
2019-09-23 02:02:43 -07:00
committed by Shuah Khan
parent 73ba5aaf93
commit 6ebf5866f2
12 changed files with 1184 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
#
# Automatically generated file; DO NOT EDIT.
# User Mode Linux/x86 4.12.0-rc3 Kernel Configuration
#
CONFIG_UML=y
CONFIG_MMU=y
#
# UML-specific options
#
#
# Host processor type and features
#
# CONFIG_MK8 is not set
CONFIG_TEST=y
CONFIG_EXAMPLE_TEST=y