1 /*
2  * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
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
7  * published by the Free Software Foundation.
8  *
9  * This code is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12  * version 2 for more details (a copy is included in the LICENSE file that
13  * accompanied this code).
14  *
15  * You should have received a copy of the GNU General Public License version
16  * 2 along with this work; if not, write to the Free Software Foundation,
17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20  * or visit www.oracle.com if you need additional information or have any
21  * questions.
22  */
23 
24 
25 /*
26  * @test
27  *
28  * @summary converted from VM Testbase nsk/jdi/ThreadReference/interrupt/interrupt001.
29  * VM Testbase keywords: [quick, jpda, jdi]
30  * VM Testbase readme:
31  * DESCRIPTION:
32  *     The test for the implementation of an object of the type
33  *     ThreadReference.
34  *     The test checks up that a result of the method
35  *     com.sun.jdi.ThreadReference.interrupt()
36  *     complies with its spec:
37  *     public void interrupt()
38  *     Interrupts this thread.
39  *     Throws: ObjectCollectedException -
40  *             if this object has been garbage collected.
41  *     See Also: java.lang.Thread#interrupt()
42  *     when a ThreadReference object has not been garbage collected,
43  *     hence ObjectCollectedException is not expected to be thrown.
44  *     The test works as follows:
45  *     The debugger program - nsk.jdi.ThreadReference.interrupt.interrupt001;
46  *     the debuggee program - nsk.jdi.ThreadReference.interrupt.interrupt001a.
47  *     Using nsk.jdi.share classes,
48  *     the debugger gets the debuggee running on another JavaVM,
49  *     creates the object debuggee.VM,
50  *     establishes a pipe with the debuggee program, and then
51  *     send to the programm commands, to which the debuggee replies
52  *     via the pipe. Upon getting reply,
53  *     the debugger calls corresponding debuggee.VM methods to get
54  *     needed data and compares the data got to the data expected.
55  *     In case of error the test produces the return value 97 and
56  *     a corresponding error message(s).
57  *     Otherwise, the test is passed and produces
58  *     the return value 95 and no message.
59  * COMMENTS:
60  *     4759463 TEST_BUG: tests against ThreadReference.interrupt() should be corrected
61  *
62  * @library /vmTestbase
63  *          /test/lib
64  * @run driver jdk.test.lib.FileInstaller . .
65  * @build nsk.jdi.ThreadReference.interrupt.interrupt001
66  *        nsk.jdi.ThreadReference.interrupt.interrupt001a
67  * @run main/othervm PropertyResolvingWrapper
68  *      nsk.jdi.ThreadReference.interrupt.interrupt001
69  *      -verbose
70  *      -arch=${os.family}-${os.simpleArch}
71  *      -waittime=5
72  *      -debugee.vmkind=java
73  *      -transport.address=dynamic
74  *      "-debugee.vmkeys=${test.vm.opts} ${test.java.opts}"
75  */
76 
77