diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-11 13:10:16 +0100 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2012-12-11 13:10:16 +0100 |
| commit | a55e3d29246cb9e480e36c925b268892f29e8f98 (patch) | |
| tree | 6f404bb6663114d4588671e813522a4fdfb2b7dc | |
| parent | 0eb086ab783048b84ce8e08f676c43a0542509ff (diff) | |
Add selftests for get_user_value().
| -rw-r--r-- | kconfigtest.py | 48 | ||||
| -rw-r--r-- | tests/Kmisc | 17 |
2 files changed, 65 insertions, 0 deletions
diff --git a/kconfigtest.py b/kconfigtest.py index 0faafc5..6cbcb2d 100644 --- a/kconfigtest.py +++ b/kconfigtest.py @@ -516,6 +516,54 @@ def run_selftests(): verify(c.get_choices()[1].is_optional(), "Second choice should be optional") + print "Testing get_user_value()..." + + syms = [c[name] for name in \ + ("BOOL", "TRISTATE", "STRING", "INT", "HEX")] + b, t, s, i, h = syms + + for sym in syms: + verify(sym.get_user_value() is None, + "{0} should not have a user value to begin with") + + def assign_and_verify_new_user_value(sym, val, new_val): + old_val = sym.get_user_value() + sym.set_value(val) + verify(sym.get_user_value() == new_val, + "{0} should have the value {1} after being assigned {2}. " + "The old value was {3}.". + format(sym.get_name(), new_val, val, old_val)) + + # Assign valid values for the types + + assign_and_verify_new_user_value(b, "n", "n") + assign_and_verify_new_user_value(b, "y", "y") + assign_and_verify_new_user_value(t, "n", "n") + assign_and_verify_new_user_value(t, "m", "m") + assign_and_verify_new_user_value(t, "y", "y") + assign_and_verify_new_user_value(s, "foo bar", "foo bar") + assign_and_verify_new_user_value(i, "123", "123") + assign_and_verify_new_user_value(h, "0x123", "0x123") + + # Assign invalid values for the types. They should retain their old user + # value. + + c.set_print_warnings(False) + + assign_and_verify_new_user_value(b, "m", "y") + assign_and_verify_new_user_value(b, "foo", "y") + assign_and_verify_new_user_value(b, "1", "y") + assign_and_verify_new_user_value(t, "foo", "y") + assign_and_verify_new_user_value(t, "1", "y") + assign_and_verify_new_user_value(i, "foo", "123") + assign_and_verify_new_user_value(h, "foo", "0x123") + + for s in syms: + s.reset() + verify(s.get_user_value() is None, + "{0} should not have a user value after being reset". + format(s.get_name())) + # # Object dependencies # diff --git a/tests/Kmisc b/tests/Kmisc index 1673896..79131a3 100644 --- a/tests/Kmisc +++ b/tests/Kmisc @@ -18,3 +18,20 @@ config C config D tristate "D" endchoice + +# get_user_value() + +config BOOL + bool "bool" + +config TRISTATE + tristate # Visibility should not affect user value + +config STRING + string "string" + +config INT + int # Visibility should not affect user value + +config HEX + hex "hex" |
