diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-08 22:49:41 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-08 22:50:11 +0100 |
| commit | e3583375d0b2a061768cdfa885ca61b03aff0696 (patch) | |
| tree | 14bb101fd804b3e0a1c3f8e8a99706330b5b0259 /kconfigtest.py | |
| parent | 979f427e2c33ae296653d784809649b86af3fc30 (diff) | |
Add selftests for internal object dependencies.
Diffstat (limited to 'kconfigtest.py')
| -rw-r--r-- | kconfigtest.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kconfigtest.py b/kconfigtest.py index cdebc4d..d05cd71 100644 --- a/kconfigtest.py +++ b/kconfigtest.py @@ -274,6 +274,37 @@ def run_selftests(): assert_true(menu_2.get_symbols(True) == [F, G, H], "Wrong recursive symbols in second menu") + # + # Object dependencies + # + + print "Testing object dependencies..." + + c = kconfiglib.Config("Kconfiglib/tests/Kdep") + def assert_dependent(sym_name, deps_names): + sym = c[sym_name] + deps = [c[dep] for dep in deps_names] + sym_deps = sym._get_dependent() + assert_true(len(sym_deps) == len(deps), + "Wrong number of dependent symbols for {0}".\ + format(sym.get_name())) + assert_true(len(sym_deps) == len(set(sym_deps)), + "{0}'s dependencies contains duplicates".\ + format(sym.get_name())) + for dep in deps: + assert_true(dep in sym_deps, + "{0} should depend on {1}".\ + format(dep.get_name(), sym.get_name())) + # Test twice to cover dependency caching + for i in range(0, 2): + n_deps = 14 + assert_dependent("D", ["D{0}".format(i) for i in range(1, n_deps + 1)]) + # Choices + assert_dependent("A", ["B", "C"]) + assert_dependent("B", ["A", "C"]) + assert_dependent("C", ["A", "B"]) + assert_dependent("S", ["A", "B", "C"]) + print def run_compatibility_tests(): |
