1 /* |
1 /* |
2 * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
26 * @bug 4368402 |
26 * @bug 4368402 |
27 * @summary UnpreparedClasses verifies that all the classes in the |
27 * @summary UnpreparedClasses verifies that all the classes in the |
28 * loaded class list are prepared classes. |
28 * loaded class list are prepared classes. |
29 * @author Robert Field |
29 * @author Robert Field |
30 * |
30 * |
31 * @run build JDIScaffold VMConnection |
31 * @run build TestScaffold VMConnection |
32 * @run compile -g InnerTarg.java |
32 * @run compile -g InnerTarg.java |
33 * @run build UnpreparedClasses |
33 * @run build UnpreparedClasses |
34 * |
34 * |
35 * @run driver UnpreparedClasses InnerTarg |
35 * @run driver UnpreparedClasses InnerTarg |
36 */ |
36 */ |
39 import com.sun.jdi.request.*; |
39 import com.sun.jdi.request.*; |
40 |
40 |
41 import java.util.List; |
41 import java.util.List; |
42 import java.util.Iterator; |
42 import java.util.Iterator; |
43 |
43 |
44 public class UnpreparedClasses extends JDIScaffold { |
44 public class UnpreparedClasses extends TestScaffold { |
45 final String[] args; |
|
46 |
45 |
47 public static void main(String args[]) throws Exception { |
46 public static void main(String args[]) throws Exception { |
48 new UnpreparedClasses(args).startTests(); |
47 new UnpreparedClasses(args).startTests(); |
49 } |
48 } |
50 |
49 |
51 UnpreparedClasses(String args[]) throws Exception { |
50 UnpreparedClasses(String args[]) throws Exception { |
52 super(); |
51 super(args); |
53 this.args = args; |
|
54 } |
52 } |
55 |
53 |
56 protected void runTests() throws Exception { |
54 protected void runTests() throws Exception { |
57 connect(args); |
55 startTo("InnerTarg", "go", "()V"); |
58 waitForVMStart(); |
|
59 resumeTo("InnerTarg", "go", "()V"); |
|
60 |
56 |
61 List all = vm().allClasses(); |
57 List all = vm().allClasses(); |
62 for (Iterator it = all.iterator(); it.hasNext(); ) { |
58 for (Iterator it = all.iterator(); it.hasNext(); ) { |
63 ReferenceType cls = (ReferenceType)it.next(); |
59 ReferenceType cls = (ReferenceType)it.next(); |
64 boolean preped = cls.isPrepared() || (cls instanceof ArrayReference); |
60 boolean preped = cls.isPrepared() || (cls instanceof ArrayReference); |