kunit: kunit_tool: Allow .kunitconfig to disable config items
authorDavid Gow <davidgow@google.com>
Tue, 24 Mar 2020 02:43:33 +0000 (19:43 -0700)
committerShuah Khan <skhan@linuxfoundation.org>
Wed, 25 Mar 2020 18:13:16 +0000 (12:13 -0600)
commit97752c39bdaeea990260d3111250f6c861519808
treeb34d435bc112185ebb8717194d9f99015d313ce2
parent2d68df6cc4bf5822d78cd0f067174d6e29a2f739
kunit: kunit_tool: Allow .kunitconfig to disable config items

Rework kunit_tool in order to allow .kunitconfig files to better enforce
that disabled items in .kunitconfig are disabled in the generated
.config.

Previously, kunit_tool simply enforced that any line present in
.kunitconfig was also present in .config, but this could cause problems
if a config option was disabled in .kunitconfig, but not listed in .config
due to (for example) having disabled dependencies.

To fix this, re-work the parser to track config names and values, and
require values to match unless they are explicitly disabled with the
"CONFIG_x is not set" comment (or by setting its value to 'n'). Those
"disabled" values will pass validation if omitted from the .config, but
not if they have a different value.

Signed-off-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/kunit/kunit_config.py
tools/testing/kunit/kunit_tool_test.py