summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Magnusson <ulfalizer@gmail.com>2012-12-09 04:52:17 +0100
committerUlf Magnusson <ulfalizer@gmail.com>2012-12-09 04:52:34 +0100
commita7fdbcc4d54f0e36127795f2dee4f6b2dfa834a1 (patch)
treeafa6778e0ad3d22088535f6882219adc0a94b2ac
parent697d043fa9c2408be0a64d45f7158e6eb52fab4a (diff)
Add selftests for get_selected_symbols().
Also add the missing tests/Kref.
-rw-r--r--kconfigtest.py16
-rw-r--r--tests/Kref24
2 files changed, 40 insertions, 0 deletions
diff --git a/kconfigtest.py b/kconfigtest.py
index 3f47afb..7acae3a 100644
--- a/kconfigtest.py
+++ b/kconfigtest.py
@@ -307,6 +307,22 @@ def run_selftests():
"MENU_REF_2"])
#
+ # get_selected_symbols() (same test file)
+ #
+
+ def assert_selects(sym, selections):
+ sym = c[sym]
+ sym_selections = sym.get_selected_symbols()
+ assert_true(len(sym_selections) == len(selections),
+ "Wrong number of selects for {0}".format(sym.get_name()))
+ for s in [c[ref] for ref in selections]:
+ assert_true(s in sym_selections,
+ "{0} should be selected by {1}".\
+ format(s.get_name(), sym.get_name()))
+ assert_selects("NO_REF", [])
+ assert_selects("MANY_REF", ["I", "K"])
+
+ #
# Object dependencies
#
diff --git a/tests/Kref b/tests/Kref
new file mode 100644
index 0000000..9f7e241
--- /dev/null
+++ b/tests/Kref
@@ -0,0 +1,24 @@
+# For testing get_referenced_symbols(), get_selected_symbols(), etc.
+
+config NO_REF
+ bool
+
+config ONE_REF
+ def_bool A
+
+menu "m"
+ depends on MENU_REF_1 && MENU_REF_2
+
+if IF_REF_1 && IF_REF_2
+
+config MANY_REF
+ int "BAR" if A && B
+ default C if D
+ range E F if G
+ depends on H
+ select I if J
+ select K
+
+endif
+
+endmenu