From 2a88c0cc5707eb0761d87cfd2ca171ce687258fc Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Fri, 16 Feb 2018 10:05:16 +0100 Subject: Include direct deps. in Symbol/Choice.__str__() Direct dependencies are significant for 'imply' even if the symbol has no properties, so they need to be included to get semantically equivalent output. Making the direct dependencies clear is helpful in general too, even if you can usually infer them from the properties they get propagated to. --- kconfiglib.py | 3 +++ tests/Kstr | 14 ++++++++++++++ testsuite.py | 8 ++++++++ 3 files changed, 25 insertions(+) diff --git a/kconfiglib.py b/kconfiglib.py index eaa9af8..a05a079 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -4035,6 +4035,9 @@ def _sym_choice_str(sc): imply_string += " if " + expr_str(cond) indent_add(imply_string) + if node.dep is not sc.kconfig.y: + indent_add("depends on " + expr_str(node.dep)) + if node.help is not None: indent_add("help") for line in node.help.splitlines(): diff --git a/tests/Kstr b/tests/Kstr index d792f08..0948b11 100644 --- a/tests/Kstr +++ b/tests/Kstr @@ -33,10 +33,24 @@ menuconfig ADVANCED prompt "prompt 3" depends on DEP2 +if DEP3 + +menu "foo" + depends on DEP4 + config ADVANCED help second help text +endmenu + +endif + +config ONLY_DIRECT_DEPS + int + depends on DEP1 + depends on DEP2 + config STRING string default "foo" diff --git a/testsuite.py b/testsuite.py index ad32070..fba897a 100644 --- a/testsuite.py +++ b/testsuite.py @@ -524,12 +524,20 @@ config ADVANCED menuconfig ADVANCED prompt "prompt 3" if DEP2 + depends on DEP2 config ADVANCED + depends on DEP4 && DEP3 help second help text """) + verify_str(c.syms["ONLY_DIRECT_DEPS"], """ +config ONLY_DIRECT_DEPS + int + depends on DEP1 && DEP2 +""") + verify_str(c.syms["STRING"], """ config STRING string -- cgit v1.2.3