summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/Kassignable68
-rw-r--r--testsuite.py16
2 files changed, 82 insertions, 2 deletions
diff --git a/tests/Kassignable b/tests/Kassignable
index 97cb322..e600a39 100644
--- a/tests/Kassignable
+++ b/tests/Kassignable
@@ -67,10 +67,10 @@ config Y_SEL_Y_VIS_TRI
tristate "y-sel y-vis tri"
config Y_SEL_M_VIS_TRI
- bool "y-sel m-vis tri" if m
+ tristate "y-sel m-vis tri" if m
config Y_SEL_N_VIS_TRI
- bool "y-sel n-vis tri" if n
+ tristate "y-sel n-vis tri" if n
# Symbols selected to m
@@ -103,3 +103,67 @@ config M_SEL_M_VIS_TRI
config M_SEL_N_VIS_TRI
tristate "m-sel n-vis tri" if n
+
+
+# Symbols implied to y
+
+config Y_IMPLIER
+ def_tristate y
+
+ imply Y_IMP_Y_VIS_BOOL
+ imply Y_IMP_M_VIS_BOOL
+ imply Y_IMP_N_VIS_BOOL
+
+ imply Y_IMP_Y_VIS_TRI
+ imply Y_IMP_M_VIS_TRI
+ imply Y_IMP_N_VIS_TRI
+
+config Y_IMP_Y_VIS_BOOL
+ bool "y-imp y-vis bool"
+
+config Y_IMP_M_VIS_BOOL
+ bool "y-imp m-vis bool" if m
+
+config Y_IMP_N_VIS_BOOL
+ bool "y-imp n-vis bool" if n
+
+config Y_IMP_Y_VIS_TRI
+ tristate "y-imp y-vis tri"
+
+config Y_IMP_M_VIS_TRI
+ tristate "y-imp m-vis tri" if m
+
+config Y_IMP_N_VIS_TRI
+ tristate "y-imp n-vis tri" if n
+
+
+# Symbols implied to m (never affects assignable values)
+
+config M_IMPLIER
+ def_tristate m
+
+ imply M_IMP_Y_VIS_BOOL
+ imply M_IMP_M_VIS_BOOL
+ imply M_IMP_N_VIS_BOOL
+
+ imply M_IMP_Y_VIS_TRI
+ imply M_IMP_M_VIS_TRI
+ imply M_IMP_N_VIS_TRI
+
+config M_IMP_Y_VIS_BOOL
+ bool "m-imp y-vis bool"
+
+config M_IMP_M_VIS_BOOL
+ bool "m-imp m-vis bool" if m
+
+config M_IMP_N_VIS_BOOL
+ bool "m-imp n-vis bool" if n
+
+config M_IMP_Y_VIS_TRI
+ tristate "m-imp y-vis tri"
+
+config M_IMP_M_VIS_TRI
+ tristate "m-imp m-vis tri" if m
+
+config M_IMP_N_VIS_TRI
+ tristate "m-imp n-vis tri" if n
diff --git a/testsuite.py b/testsuite.py
index 11d3ef6..17c7f9e 100644
--- a/testsuite.py
+++ b/testsuite.py
@@ -918,6 +918,22 @@ g
verify_assignable("M_SEL_M_VIS_TRI", (1 ,))
verify_assignable("M_SEL_N_VIS_TRI", ( ))
+ # Symbols implied to y
+ verify_assignable("Y_IMP_Y_VIS_BOOL", (0, 2))
+ verify_assignable("Y_IMP_M_VIS_BOOL", (0, 2)) # Visibility promoted
+ verify_assignable("Y_IMP_N_VIS_BOOL", ( ))
+ verify_assignable("Y_IMP_Y_VIS_TRI", (0, 2)) # m removed by imply
+ verify_assignable("Y_IMP_M_VIS_TRI", (0, 2)) # m promoted to y by imply
+ verify_assignable("Y_IMP_N_VIS_TRI", ( ))
+
+ # Symbols implied to m (never affects assignable values)
+ verify_assignable("M_IMP_Y_VIS_BOOL", (0, 2))
+ verify_assignable("M_IMP_M_VIS_BOOL", (0, 2)) # Visibility promoted
+ verify_assignable("M_IMP_N_VIS_BOOL", ( ))
+ verify_assignable("M_IMP_Y_VIS_TRI", (0, 1, 2)) # m removed by imply
+ verify_assignable("M_IMP_M_VIS_TRI", (0, 1 )) # m promoted to y by imply
+ verify_assignable("M_IMP_N_VIS_TRI", ( ))
+
print("Testing object relations")