-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kconfig: tests: add basic choice tests
The calculation of 'choice' is a bit complicated part in Kconfig. The behavior of 'y' choice is intuitive. If choice values are tristate, the choice can be 'm' where each value can be enabled independently. Also, if a choice is marked as 'optional', the whole choice can be invisible. Test basic functionality of choice. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Ulf Magnusson <ulfalizer@gmail.com>
- Loading branch information
Masahiro Yamada
committed
Mar 25, 2018
1 parent
022a4bf
commit 1903c51
Showing
9 changed files
with
149 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
config MODULES | ||
bool "Enable loadable module support" | ||
option modules | ||
default y | ||
|
||
choice | ||
prompt "boolean choice" | ||
default BOOL_CHOICE1 | ||
|
||
config BOOL_CHOICE0 | ||
bool "choice 0" | ||
|
||
config BOOL_CHOICE1 | ||
bool "choice 1" | ||
|
||
endchoice | ||
|
||
choice | ||
prompt "optional boolean choice" | ||
optional | ||
default OPT_BOOL_CHOICE1 | ||
|
||
config OPT_BOOL_CHOICE0 | ||
bool "choice 0" | ||
|
||
config OPT_BOOL_CHOICE1 | ||
bool "choice 1" | ||
|
||
endchoice | ||
|
||
choice | ||
prompt "tristate choice" | ||
default TRI_CHOICE1 | ||
|
||
config TRI_CHOICE0 | ||
tristate "choice 0" | ||
|
||
config TRI_CHOICE1 | ||
tristate "choice 1" | ||
|
||
endchoice | ||
|
||
choice | ||
prompt "optional tristate choice" | ||
optional | ||
default OPT_TRI_CHOICE1 | ||
|
||
config OPT_TRI_CHOICE0 | ||
tristate "choice 0" | ||
|
||
config OPT_TRI_CHOICE1 | ||
tristate "choice 1" | ||
|
||
endchoice |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
""" | ||
Basic choice tests. | ||
The handling of 'choice' is a bit complicated part in Kconfig. | ||
The behavior of 'y' choice is intuitive. If choice values are tristate, | ||
the choice can be 'm' where each value can be enabled independently. | ||
Also, if a choice is marked as 'optional', the whole choice can be | ||
invisible. | ||
""" | ||
|
||
|
||
def test_oldask0(conf): | ||
assert conf.oldaskconfig() == 0 | ||
assert conf.stdout_contains('oldask0_expected_stdout') | ||
|
||
|
||
def test_oldask1(conf): | ||
assert conf.oldaskconfig('oldask1_config') == 0 | ||
assert conf.stdout_contains('oldask1_expected_stdout') | ||
|
||
|
||
def test_allyes(conf): | ||
assert conf.allyesconfig() == 0 | ||
assert conf.config_contains('allyes_expected_config') | ||
|
||
|
||
def test_allmod(conf): | ||
assert conf.allmodconfig() == 0 | ||
assert conf.config_contains('allmod_expected_config') | ||
|
||
|
||
def test_allno(conf): | ||
assert conf.allnoconfig() == 0 | ||
assert conf.config_contains('allno_expected_config') | ||
|
||
|
||
def test_alldef(conf): | ||
assert conf.alldefconfig() == 0 | ||
assert conf.config_contains('alldef_expected_config') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
CONFIG_MODULES=y | ||
# CONFIG_BOOL_CHOICE0 is not set | ||
CONFIG_BOOL_CHOICE1=y | ||
# CONFIG_TRI_CHOICE0 is not set | ||
# CONFIG_TRI_CHOICE1 is not set |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
CONFIG_MODULES=y | ||
# CONFIG_BOOL_CHOICE0 is not set | ||
CONFIG_BOOL_CHOICE1=y | ||
# CONFIG_OPT_BOOL_CHOICE0 is not set | ||
CONFIG_OPT_BOOL_CHOICE1=y | ||
CONFIG_TRI_CHOICE0=m | ||
CONFIG_TRI_CHOICE1=m | ||
CONFIG_OPT_TRI_CHOICE0=m | ||
CONFIG_OPT_TRI_CHOICE1=m |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# CONFIG_MODULES is not set | ||
# CONFIG_BOOL_CHOICE0 is not set | ||
CONFIG_BOOL_CHOICE1=y | ||
# CONFIG_TRI_CHOICE0 is not set | ||
CONFIG_TRI_CHOICE1=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
CONFIG_MODULES=y | ||
# CONFIG_BOOL_CHOICE0 is not set | ||
CONFIG_BOOL_CHOICE1=y | ||
# CONFIG_OPT_BOOL_CHOICE0 is not set | ||
CONFIG_OPT_BOOL_CHOICE1=y | ||
# CONFIG_TRI_CHOICE0 is not set | ||
CONFIG_TRI_CHOICE1=y | ||
# CONFIG_OPT_TRI_CHOICE0 is not set | ||
CONFIG_OPT_TRI_CHOICE1=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
Enable loadable module support (MODULES) [Y/n/?] (NEW) | ||
boolean choice | ||
1. choice 0 (BOOL_CHOICE0) (NEW) | ||
> 2. choice 1 (BOOL_CHOICE1) (NEW) | ||
choice[1-2?]: | ||
optional boolean choice [N/y/?] (NEW) | ||
tristate choice [M/y/?] (NEW) | ||
choice 0 (TRI_CHOICE0) [N/m/?] (NEW) | ||
choice 1 (TRI_CHOICE1) [N/m/?] (NEW) | ||
optional tristate choice [N/m/y/?] (NEW) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# CONFIG_MODULES is not set | ||
CONFIG_OPT_BOOL_CHOICE0=y |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Enable loadable module support (MODULES) [N/y/?] | ||
boolean choice | ||
1. choice 0 (BOOL_CHOICE0) (NEW) | ||
> 2. choice 1 (BOOL_CHOICE1) (NEW) | ||
choice[1-2?]: | ||
optional boolean choice [Y/n/?] (NEW) | ||
optional boolean choice | ||
> 1. choice 0 (OPT_BOOL_CHOICE0) | ||
2. choice 1 (OPT_BOOL_CHOICE1) (NEW) | ||
choice[1-2?]: | ||
tristate choice | ||
1. choice 0 (TRI_CHOICE0) (NEW) | ||
> 2. choice 1 (TRI_CHOICE1) (NEW) | ||
choice[1-2?]: | ||
optional tristate choice [N/y/?] |