diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2018-06-13 01:33:15 +0200 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2018-06-13 01:39:36 +0200 |
| commit | 68043b21a2fdf09d91996977d5408e92a23fe3e8 (patch) | |
| tree | 8f12ea087149d1d1c538467a7fb06cac7ddfa106 /testsuite.py | |
| parent | 35ede24133d87a79e993de2c2e427f03e3de9303 (diff) | |
Add MenuNode function that returns referenced items
MenuNode.referenced() returns all symbols (and choices, for choice
symbols) referenced in the properties (prompt, defaults, selects,
ranges, etc.) and property conditions of the menu node.
Handy e.g. when generating cross-references.
Diffstat (limited to 'testsuite.py')
| -rw-r--r-- | testsuite.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/testsuite.py b/testsuite.py index 1f1bc32..5c12bc0 100644 --- a/testsuite.py +++ b/testsuite.py @@ -1009,8 +1009,36 @@ g ) + print("Testing MenuNode.referenced()") + + c = Kconfig("Kconfiglib/tests/Kreferenced", warn=False) + + def verify_deps(item, *dep_names): + verify_equal(tuple(sorted(item.name for item in item.referenced())), + dep_names) + + verify_deps(c.syms["NO_REFS"].nodes[0], "y") + + verify_deps(c.syms["JUST_DEPENDS_ON_REFS"].nodes[0], "A", "B") + + verify_deps(c.syms["LOTS_OF_REFS"].nodes[0], + *(chr(n) for n in range(ord('A'), ord('Z') + 1))) + + verify_deps(c.syms["INT_REFS"].nodes[0], + "A", "B", "C", "D", "E", "F", "G", "H", "y") + + verify_deps(c.syms["CHOICE_REF"].nodes[0], "CHOICE") + + verify_deps(c.menus[0], "A", "B", "C", "D") + + verify_deps(c.comments[0], "A", "B") + + print("Testing split_expr()") + c = Kconfig("Kconfiglib/tests/empty") + c.disable_warnings() + def verify_split(to_split, op, operand_strs): # The same hackage as in Kconfig.eval_string() c._line = "if " + to_split |
