kconfig: tests: check visibility of tristate choice values in y choice
If tristate choice values depend on symbols set to 'm', they should be hidden when the choice containing them is changed from 'm' to 'y' (i.e. exclusive choice). This issue was fixed by commitfa64e5f6a3
("kconfig/symbol.c: handle choice_values that depend on 'm' symbols"). Add a test case to avoid regression. For the input in this unit test, there is a room for argument if "# CONFIG_CHOICE1 is not set" should be written to the .config file. After commitfa64e5f6a3
, this line was written to the .config file. With commitcb67ab2cd2
("kconfig: do not write choice values when their dependency becomes n"), it is not written now. In this test, "# CONFIG_CHOICE1 is not set" is don't care. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
This commit is contained in:
parent
930c429a65
commit
ee23661065
5 changed files with 43 additions and 0 deletions
19
scripts/kconfig/tests/choice_value_with_m_dep/Kconfig
Normal file
19
scripts/kconfig/tests/choice_value_with_m_dep/Kconfig
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
config MODULES
|
||||||
|
def_bool y
|
||||||
|
option modules
|
||||||
|
|
||||||
|
config DEP
|
||||||
|
tristate
|
||||||
|
default m
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Tristate Choice"
|
||||||
|
|
||||||
|
config CHOICE0
|
||||||
|
tristate "Choice 0"
|
||||||
|
|
||||||
|
config CHOICE1
|
||||||
|
tristate "Choice 1"
|
||||||
|
depends on DEP
|
||||||
|
|
||||||
|
endchoice
|
15
scripts/kconfig/tests/choice_value_with_m_dep/__init__.py
Normal file
15
scripts/kconfig/tests/choice_value_with_m_dep/__init__.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
"""
|
||||||
|
Hide tristate choice values with mod dependency in y choice.
|
||||||
|
|
||||||
|
If tristate choice values depend on symbols set to 'm', they should be
|
||||||
|
hidden when the choice containing them is changed from 'm' to 'y'
|
||||||
|
(i.e. exclusive choice).
|
||||||
|
|
||||||
|
Related Linux commit: fa64e5f6a35efd5e77d639125d973077ca506074
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def test(conf):
|
||||||
|
assert conf.oldaskconfig('config', 'y') == 0
|
||||||
|
assert conf.config_contains('expected_config')
|
||||||
|
assert conf.stdout_contains('expected_stdout')
|
2
scripts/kconfig/tests/choice_value_with_m_dep/config
Normal file
2
scripts/kconfig/tests/choice_value_with_m_dep/config
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
CONFIG_CHOICE0=m
|
||||||
|
CONFIG_CHOICE1=m
|
|
@ -0,0 +1,3 @@
|
||||||
|
CONFIG_MODULES=y
|
||||||
|
CONFIG_DEP=m
|
||||||
|
CONFIG_CHOICE0=y
|
|
@ -0,0 +1,4 @@
|
||||||
|
Tristate Choice [M/y/?] y
|
||||||
|
Tristate Choice
|
||||||
|
> 1. Choice 0 (CHOICE0)
|
||||||
|
choice[1]: 1
|
Loading…
Reference in a new issue