summaryrefslogtreecommitdiff
path: root/testsuite.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-09-27 14:41:30 +0200
committerUlf Magnusson <ulfalizer@gmail.com>2017-09-27 17:08:15 +0200
commitf76a5240e217c5ba4bc752e9f7705b7cb67997d7 (patch)
tree0b9a0ce4c82efabe49ba820a25d4c8626f1c8e17 /testsuite.py
parentd18ca7216457e46cdc592b022aa534eec473b9c4 (diff)
Hide non-tristate symbols in non-y tristate choices
There's old ad-hoc code that does this in the C implementation, added in f5eaa32 (kconfig: tristate choices with mixed tristate and boolean values). Unless a tristate choice is in "y" mode, non-tristate symbols get visibility "n". There are currently no tristate choices with non-tristate symbols in the kernel, so this never triggered. Modify some self tests that weren't aware of this behavior, and add some new ones. Also remove an old pointless test.
Diffstat (limited to 'testsuite.py')
-rw-r--r--testsuite.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/testsuite.py b/testsuite.py
index 870195f..906a697 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -996,8 +996,18 @@ def run_selftests():
verify_sym_visibility("BOOL_menu_m", "n", "y") # Promoted
verify_sym_visibility("BOOL_menu_y", "y", "y")
verify_sym_visibility("BOOL_choice_n", "n", "n")
- verify_sym_visibility("BOOL_choice_m", "n", "y") # Promoted
+
+ # Non-tristate symbols in tristate choices are only visible if the choice
+ # is in "y" mode
+ verify_sym_visibility("BOOL_choice_m", "n", "n")
+ verify_sym_visibility("BOOL_choice_y", "y", "n")
+ c["TRISTATE_choice_m"].set_user_value("y")
+ c["TRISTATE_choice_y"].set_user_value("y")
+ # Still limited by the visibility of the choice
+ verify_sym_visibility("BOOL_choice_m", "n", "n")
+ # This one should become visible now though
verify_sym_visibility("BOOL_choice_y", "y", "y")
+
verify_sym_visibility("TRISTATE_if_n", "n", "n")
verify_sym_visibility("TRISTATE_if_m", "n", "m")
verify_sym_visibility("TRISTATE_if_y", "y", "y")
@@ -1030,8 +1040,6 @@ def run_selftests():
choice_tristate_menu_n_and_y \
= c.get_choices()[3:]
- verify(choice_bool_n.get_name() == "BOOL_CHOICE_n", "Ops - testing the wrong choices")
-
verify_choice_visibility(choice_bool_n, "n", "n")
verify_choice_visibility(choice_bool_m, "n", "y") # Promoted
verify_choice_visibility(choice_bool_y, "y", "y")