• Masahiro Yamada's avatar
    kconfig: tests: add a test for randconfig with dependent choices · 47ad1689
    Masahiro Yamada authored
    Since commit 3b9a19e0 ("kconfig: loop as long as we changed some
    symbols in randconfig"), conf_set_all_new_symbols() is repeated until
    there is no more choice left to be shuffled. The motivation was to
    shuffle a choice nested in another choice.
    
    Although commit 09d5873e ("kconfig: allow only 'config', 'comment',
    and 'if' inside 'choice'") disallowed the nested choice structure,
    we must still keep 3b9a19e0 because there are still cases where
    conf_set_all_new_symbols() must iterate.
    
    scripts/kconfig/tests/choice_randomize/Kconfig is the test case.
    The second choice depends on 'B', which is the member of the first
    choice.
    
    With 3b9a19e0 reverted, we would never get the pattern specified by
    scripts/kconfig/tests/choice_randomize/expected_config2.
    
    A real example can be found in lib/Kconfig.debug. Without 3b9a19e0,
    the randconfig would not shuffle the "Compressed Debug information"
    choice, which depends on DEBUG_INFO, which is derived from another
    choice "Debug information".
    
    My goal is to refactor Kconfig so that randconfig will work more
    simply, without using the loop.
    
    For now, let's add a test case to ensure all dependent choices are
    shuffled, as it is a somewhat tricky case for the current Kconfig.
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    47ad1689
expected_config1 127 Bytes