21 * questions.
22 */
23
24 import static java.lang.StackWalker.Option.*;
25 import java.lang.StackWalker.StackFrame;
26 import java.util.Arrays;
27 import java.util.EnumSet;
28 import java.util.HashSet;
29 import java.util.List;
30 import java.util.Random;
31 import java.util.Set;
32 import java.util.TreeSet;
33
34 import jdk.test.lib.RandomFactory;
35
36 /**
37 * @test
38 * @bug 8140450
39 * @summary Stack Walk Test (use -Dseed=X to set PRNG seed)
40 * @library /test/lib
41 * @compile StackRecorderUtil.java
42 * @run main/othervm StackWalkTest
43 * @run main/othervm/java.security.policy=stackwalktest.policy StackWalkTest
44 * @run main/othervm StackWalkTest -random:50
45 * @run main/othervm/java.security.policy=stackwalktest.policy StackWalkTest -random:50
46 * @author danielfuchs, bchristi
47 * @key randomness
48 */
49 public class StackWalkTest {
50 private static boolean random = false;
51 private static boolean verbose = false;
52 private static int randomRuns = 50;
53
54 private static final int MAX_RANDOM_DEPTH = 1000;
55
56 static final Set<String> infrastructureClasses = new TreeSet<>(Arrays.asList(
57 "jdk.internal.reflect.NativeMethodAccessorImpl",
58 "jdk.internal.reflect.DelegatingMethodAccessorImpl",
59 "java.lang.reflect.Method",
60 "com.sun.javatest.regtest.MainWrapper$MainThread",
|
21 * questions.
22 */
23
24 import static java.lang.StackWalker.Option.*;
25 import java.lang.StackWalker.StackFrame;
26 import java.util.Arrays;
27 import java.util.EnumSet;
28 import java.util.HashSet;
29 import java.util.List;
30 import java.util.Random;
31 import java.util.Set;
32 import java.util.TreeSet;
33
34 import jdk.test.lib.RandomFactory;
35
36 /**
37 * @test
38 * @bug 8140450
39 * @summary Stack Walk Test (use -Dseed=X to set PRNG seed)
40 * @library /test/lib
41 * @build jdk.test.lib.RandomFactory
42 * @compile StackRecorderUtil.java
43 * @run main/othervm StackWalkTest
44 * @run main/othervm/java.security.policy=stackwalktest.policy StackWalkTest
45 * @run main/othervm StackWalkTest -random:50
46 * @run main/othervm/java.security.policy=stackwalktest.policy StackWalkTest -random:50
47 * @author danielfuchs, bchristi
48 * @key randomness
49 */
50 public class StackWalkTest {
51 private static boolean random = false;
52 private static boolean verbose = false;
53 private static int randomRuns = 50;
54
55 private static final int MAX_RANDOM_DEPTH = 1000;
56
57 static final Set<String> infrastructureClasses = new TreeSet<>(Arrays.asList(
58 "jdk.internal.reflect.NativeMethodAccessorImpl",
59 "jdk.internal.reflect.DelegatingMethodAccessorImpl",
60 "java.lang.reflect.Method",
61 "com.sun.javatest.regtest.MainWrapper$MainThread",
|