< prev index next >

test/hotspot/jtreg/runtime/valhalla/valuetypes/verifier/VerifierValueTypes.java

Print this page

        

@@ -53,10 +53,15 @@
                 throw new RuntimeException("Wrong ClassFormatError: " + e.getMessage());
             }
         }
     }
 
+    public static void runTestNoError(String test_name) throws Exception {
+        System.out.println("Testing: " + test_name);
+        Class newClass = Class.forName(test_name);
+    }
+
     public static void main(String[] args) throws Exception {
 
         // Test that a defaultvalue opcode with an out of bounds cp index causes a VerifyError.
         runTestVerifyError("defValBadCP", "Illegal constant pool index");
 

@@ -96,17 +101,15 @@
         runTestVerifyError("defValueObj", "Invalid type on operand stack in withfield instruction");
 
         // Test VerifyError is thrown if a withfield's class operand is not a value type.
         runTestVerifyError("withfieldObj", "Bad type on operand stack");
 
-        // Test that an array of value types is not assignable to [Ljava/lang/Object; (Non-covariance).
-        runTestVerifyError("NoArrayCov",
-            "Type '[QNoArrayCov;' (current frame, stack[1]) is not assignable to '[Ljava/lang/Object;'");
-
-        // Test that an array of value types is not assignable to an array of interfaces (Non-covariance).
-        runTestVerifyError("NoArrayCovIntf",
-            "Type '[QNoArrayCovIntf;' (current frame, stack[1]) is not assignable to '[LII;'");
+        // Test that an array of value types is assignable to [Ljava/lang/Object; (Covariance).
+        runTestNoError("NoArrayCov");
+
+        // Test that an array of value types is assignable to an array of interfaces (Covariance).
+        runTestNoError("NoArrayCovIntf");
 
         // Test that null is not assignable to a value type.
         runTestVerifyError("NoNullVT",
             "Type null (current frame, stack[1]) is not assignable to 'QNoNullVT;'");
     }
< prev index next >