summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/Keval12
-rw-r--r--testsuite.py39
2 files changed, 50 insertions, 1 deletions
diff --git a/tests/Keval b/tests/Keval
index b7fe394..191f518 100644
--- a/tests/Keval
+++ b/tests/Keval
@@ -14,3 +14,15 @@ menuconfig Y
config Y_STRING
string
default "y"
+
+config FOO_BAR_STRING
+ string
+ default "foo bar"
+
+config INT_3
+ int
+ default 3
+
+config HEX_0X3
+ hex
+ default 0x3
diff --git a/testsuite.py b/testsuite.py
index f4e587f..99b6009 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -197,7 +197,7 @@ def run_selftests():
verify_bounds("HEX", None, None)
#
- # eval() (Already well exercised. Just test some basics.)
+ # eval()
#
# TODO: Stricter syntax checking?
@@ -238,6 +238,43 @@ def run_selftests():
verify_val('"foo"', "n")
verify_val('"foo" || "bar"', "n")
+ # Test equality for symbols
+
+ verify_val("N = N", "y")
+ verify_val("N = n", "y")
+ verify_val("N = 'n'", "y")
+ verify_val("N != N", "n")
+ verify_val("N != n", "n")
+ verify_val("N != 'n'", "n")
+
+ verify_val("M = M", "y")
+ verify_val("M = m", "y")
+ verify_val("M = 'm'", "y")
+ verify_val("M != M", "n")
+ verify_val("M != m", "n")
+ verify_val("M != 'm'", "n")
+
+ verify_val("Y = Y", "y")
+ verify_val("Y = y", "y")
+ verify_val("Y = 'y'", "y")
+ verify_val("Y != Y", "n")
+ verify_val("Y != y", "n")
+ verify_val("Y != 'y'", "n")
+
+ verify_val("N != M", "y")
+ verify_val("N != Y", "y")
+ verify_val("M != Y", "y")
+
+ # string/int/hex
+ verify_val("Y_STRING = y", "y")
+ verify_val("Y_STRING = 'y'", "y")
+ verify_val('FOO_BAR_STRING = "foo bar"', "y")
+ verify_val('FOO_BAR_STRING != "foo bar baz"', "y")
+ verify_val('INT_3 = 3', "y")
+ verify_val("INT_3 = '3'", "y")
+ verify_val('HEX_0X3 = 0x3', "y")
+ verify_val("HEX_0X3 = '0x3'", "y")
+
# Compare some constants...
verify_val('"foo" != "bar"', "y")
verify_val('"foo" = "bar"', "n")