summaryrefslogtreecommitdiff
path: root/testsuite.py
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2017-09-25 20:24:11 +0200
committerUlf Magnusson <ulfalizer@gmail.com>2017-09-25 20:42:44 +0200
commit5f3d307155f4db035b652738e9fc49ad8be0c792 (patch)
tree3c5d4d3322a7d8bf0e2c5a7f9f7f0243b8860cfb /testsuite.py
parent58e05c00ab0a762866e3719974d5b74096df233c (diff)
Fix 'default' on non-visible choice symbols
Previously, 'default CHOICE_SYM [if <cond>]' in a choice would skip any following 'default' properties if <cond> was non-'n'. However, those other defaults should still be considered if CHOICE_SYM has visibility 'n'. Previously, we'd immediately fall back to selecting the first visible symbol in the choice in that case. get_selection_from_defaults() now exactly mirrors sym_choice_default() from the C implementation, and got less convoluted too. Nothing in the kernel defconfigs triggered this. Add a new test case too.
Diffstat (limited to 'testsuite.py')
-rw-r--r--testsuite.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/testsuite.py b/testsuite.py
index 9d364c8..870195f 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -1825,9 +1825,9 @@ def run_selftests():
choice_bool, choice_bool_opt, choice_tristate, choice_tristate_opt, \
choice_bool_m, choice_tristate_m, choice_defaults, \
- choice_no_type_bool, choice_no_type_tristate, \
- choice_missing_member_type_1, choice_missing_member_type_2, \
- choice_weird_syms = c.get_choices()
+ choice_defaults_not_visible, choice_no_type_bool, \
+ choice_no_type_tristate, choice_missing_member_type_1, \
+ choice_missing_member_type_2, choice_weird_syms = c.get_choices()
for choice in (choice_bool, choice_bool_opt, choice_bool_m,
choice_defaults):
@@ -1901,6 +1901,13 @@ def run_selftests():
verify(choice_defaults.get_selection() is c["OPT_1"],
"User selection should override defaults")
+ verify(choice_defaults_not_visible.get_selection_from_defaults()
+ is c["OPT_8"] and
+ choice_defaults_not_visible.get_selection()
+ is c["OPT_8"],
+ "Non-visible choice symbols should cause the next default to be "
+ "considered")
+
# Test "y" mode selection
c["MODULES"].set_user_value("y")