kconfig: tests: check unneeded "is not set" with unmet dependency
Commit cb67ab2cd2
("kconfig: do not write choice values when their
dependency becomes n") fixed a problem where "# CONFIG_... is not set"
for choice values are wrongly written into the .config file when they
are once visible, then become invisible later.
Add a test for this naive case.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
This commit is contained in:
parent
b76960c0f6
commit
930c429a65
4 changed files with 39 additions and 0 deletions
14
scripts/kconfig/tests/no_write_if_dep_unmet/Kconfig
Normal file
14
scripts/kconfig/tests/no_write_if_dep_unmet/Kconfig
Normal file
|
@ -0,0 +1,14 @@
|
|||
config A
|
||||
bool "A"
|
||||
|
||||
choice
|
||||
prompt "Choice ?"
|
||||
depends on A
|
||||
|
||||
config CHOICE_B
|
||||
bool "Choice B"
|
||||
|
||||
config CHOICE_C
|
||||
bool "Choice C"
|
||||
|
||||
endchoice
|
19
scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py
Normal file
19
scripts/kconfig/tests/no_write_if_dep_unmet/__init__.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
"""
|
||||
Do not write choice values to .config if the dependency is unmet.
|
||||
|
||||
"# CONFIG_... is not set" should not be written into the .config file
|
||||
for symbols with unmet dependency.
|
||||
|
||||
This was not working correctly for choice values because choice needs
|
||||
a bit different symbol computation.
|
||||
|
||||
This checks that no unneeded "# COFIG_... is not set" is contained in
|
||||
the .config file.
|
||||
|
||||
Related Linux commit: cb67ab2cd2b8abd9650292c986c79901e3073a59
|
||||
"""
|
||||
|
||||
|
||||
def test(conf):
|
||||
assert conf.oldaskconfig('config', 'n') == 0
|
||||
assert conf.config_matches('expected_config')
|
1
scripts/kconfig/tests/no_write_if_dep_unmet/config
Normal file
1
scripts/kconfig/tests/no_write_if_dep_unmet/config
Normal file
|
@ -0,0 +1 @@
|
|||
CONFIG_A=y
|
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux Kernel Configuration
|
||||
#
|
||||
# CONFIG_A is not set
|
Loading…
Reference in a new issue