Commit 3b9a19e089
("kconfig: loop as long as we changed some symbols
in randconfig") fixed randconfig where a choice contains a sub-choice.
Prior to that commit, the sub-choice values were not set.
I am not sure whether this is an intended feature or just something
people discovered works, but it is used in the real world;
drivers/usb/gadget/legacy/Kconfig is source'd in a choice context,
then creates a sub-choice in it.
For the test case in this commit, there are 3 possible results.
Case 1:
CONFIG_A=y
# CONFIG_B is not set
Case 2:
# CONFIG_A is not set
CONFIG_B=y
CONFIG_C=y
# CONFIG_D is not set
Case 3:
# CONFIG_A is not set
CONFIG_B=y
# CONFIG_C is not set
CONFIG_D=y
CONFIG_E=y
So, this test iterates several times, and checks if the result is
either of the three.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
34 lines
248 B
Plaintext
34 lines
248 B
Plaintext
choice
|
|
prompt "choice"
|
|
|
|
config A
|
|
bool "A"
|
|
|
|
config B
|
|
bool "B"
|
|
|
|
if B
|
|
choice
|
|
prompt "sub choice"
|
|
|
|
config C
|
|
bool "C"
|
|
|
|
config D
|
|
bool "D"
|
|
|
|
if D
|
|
choice
|
|
prompt "subsub choice"
|
|
|
|
config E
|
|
bool "E"
|
|
|
|
endchoice
|
|
endif # D
|
|
|
|
endchoice
|
|
endif # B
|
|
|
|
endchoice
|