summaryrefslogtreecommitdiff
path: root/test/712-varhandle-invocations/util-src/generate_java.py
diff options
context:
space:
mode:
authorOrion Hodson <oth@google.com>2020-08-24 12:19:04 +0100
committerOrion Hodson <oth@google.com>2020-08-27 08:26:14 +0000
commitc3617cda17351ffd33ced81a3e03b87f59d4a41d (patch)
tree054ddf7a77f35acb2c8a66954838553c6230b8b7 /test/712-varhandle-invocations/util-src/generate_java.py
parent3d52363c5780f37d6f9bbd8e476f3c360d22b833 (diff)
VarHandle tests for interfaces
Bug: 65872996 Test: run-test --host 712 Change-Id: I29190f9e86dd60ff9d8428c8fc08e3f84e99baf0
Diffstat (limited to 'test/712-varhandle-invocations/util-src/generate_java.py')
-rw-r--r--test/712-varhandle-invocations/util-src/generate_java.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/712-varhandle-invocations/util-src/generate_java.py b/test/712-varhandle-invocations/util-src/generate_java.py
index f535b400f8..f9927db1b1 100644
--- a/test/712-varhandle-invocations/util-src/generate_java.py
+++ b/test/712-varhandle-invocations/util-src/generate_java.py
@@ -722,6 +722,16 @@ def emit_reference_accessor_tests(output_path):
for accessor in VAR_HANDLE_ACCESSORS:
emit_accessor_test(var_handle_kind, accessor, ref_type, output_path)
+def emit_interface_accessor_tests(output_path):
+ ref_type = JavaType("WidgetInterface", [ "Widget.ONE", "Widget.TWO", "null" ])
+ for var_handle_kind in ALL_VAR_HANDLE_KINDS:
+ if var_handle_kind.is_view():
+ # Views as reference type arrays are not supported. They
+ # fail instantiation. This is tested in 710-varhandle-creation.
+ continue
+ for accessor in VAR_HANDLE_ACCESSORS:
+ emit_accessor_test(var_handle_kind, accessor, ref_type, output_path)
+
def emit_boxing_value_type_accessor_test(accessor, var_type, output_path):
test_class = "Boxing" + capitalize_first(accessor.method_name) + capitalize_first(var_type.name)
GENERATED_TEST_CLASSES.append(test_class)
@@ -873,6 +883,7 @@ def main(argv):
sys.exit(1)
emit_value_type_accessor_tests(final_java_dir)
emit_reference_accessor_tests(final_java_dir)
+ emit_interface_accessor_tests(final_java_dir)
emit_boxing_value_type_accessor_tests(final_java_dir)
emit_main(final_java_dir, argv[2:])