From f76a5240e217c5ba4bc752e9f7705b7cb67997d7 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Wed, 27 Sep 2017 14:41:30 +0200 Subject: 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. --- testsuite.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'testsuite.py') 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") -- cgit v1.2.3