test/java/lang/reflect/Generics/Probe.java

Print this page
rev 811 : 6704655: Test test/java/lang/reflect/Generics/Probe.java fails under OpenJDK
Reviewed-by: ksrini

*** 21,41 **** * have any questions. */ /* * @test ! * @bug 5003916 * @summary Testing parsing of signatures attributes of nested classes * @author Joseph D. Darcy * @compile -source 1.5 Probe.java * @run main Probe */ import java.lang.reflect.*; import java.lang.annotation.*; ! @Classes({ "java.util.concurrent.FutureTask", "java.util.concurrent.ConcurrentHashMap$EntryIterator", "java.util.concurrent.ConcurrentHashMap$KeyIterator", "java.util.concurrent.ConcurrentHashMap$ValueIterator", "java.util.AbstractList$ListItr", --- 21,43 ---- * have any questions. */ /* * @test ! * @bug 5003916 6704655 * @summary Testing parsing of signatures attributes of nested classes * @author Joseph D. Darcy * @compile -source 1.5 Probe.java * @run main Probe */ import java.lang.reflect.*; import java.lang.annotation.*; + import java.util.*; + import static java.util.Arrays.*; ! @Classes(value={ "java.util.concurrent.FutureTask", "java.util.concurrent.ConcurrentHashMap$EntryIterator", "java.util.concurrent.ConcurrentHashMap$KeyIterator", "java.util.concurrent.ConcurrentHashMap$ValueIterator", "java.util.AbstractList$ListItr",
*** 54,75 **** "java.util.HashMap$EntryIterator", "java.util.HashMap$KeyIterator", "java.util.HashMap$ValueIterator", "java.util.LinkedHashMap$EntryIterator", "java.util.LinkedHashMap$KeyIterator", ! "java.util.LinkedHashMap$ValueIterator", "javax.crypto.SunJCE_c", "javax.crypto.SunJCE_e", "javax.crypto.SunJCE_f", "javax.crypto.SunJCE_j", "javax.crypto.SunJCE_k", "javax.crypto.SunJCE_l" }) public class Probe { public static void main (String[] args) throws Throwable { ! String [] names = (Probe.class).getAnnotation(Classes.class).value(); int errs = 0; for(String name: names) { System.out.println("\nCLASS " + name); Class c = Class.forName(name, false, null); errs += probe(c); --- 56,87 ---- "java.util.HashMap$EntryIterator", "java.util.HashMap$KeyIterator", "java.util.HashMap$ValueIterator", "java.util.LinkedHashMap$EntryIterator", "java.util.LinkedHashMap$KeyIterator", ! "java.util.LinkedHashMap$ValueIterator" ! }, ! sunClasses={ "javax.crypto.SunJCE_c", "javax.crypto.SunJCE_e", "javax.crypto.SunJCE_f", "javax.crypto.SunJCE_j", "javax.crypto.SunJCE_k", "javax.crypto.SunJCE_l" }) public class Probe { public static void main (String[] args) throws Throwable { ! Classes classesAnnotation = (Probe.class).getAnnotation(Classes.class); ! List<String> names = ! new ArrayList<String>(asList(classesAnnotation.value())); + if (System.getProperty("java.runtime.name").startsWith("Java(TM)")) { + // Sun production JDK; test crypto classes too + for(String name: classesAnnotation.sunClasses()) + names.add(name); + } + int errs = 0; for(String name: names) { System.out.println("\nCLASS " + name); Class c = Class.forName(name, false, null); errs += probe(c);
*** 138,143 **** --- 150,156 ---- } @Retention(RetentionPolicy.RUNTIME) @interface Classes { String [] value(); // list of classes to probe + String [] sunClasses(); // list of Sun-production JDK specific classes to probe }