01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.harmony.drlvm.tests.regression.h4979;
19:
20: import junit.framework.TestCase;
21:
22: /**
23: * Test case for AttachCurrentThread() Invocation API function.
24: */
25: public class AttachCurrentThread extends TestCase {
26:
27: public static void main(String args[]) {
28: (new AttachCurrentThread()).test();
29: }
30:
31: public void test() {
32:
33: try {
34: System.err
35: .println("[Java]: Throwing an exception to invoke agent");
36: // pass execution to the agent
37: throw new InvokeAgentException();
38: } catch (Exception e) {
39: System.err.println("[Java]: Exception caught");
40: }
41:
42: System.err.println("[Java]: test done");
43: assertTrue(Status.status);
44: }
45: }
46:
47: class InvokeAgentException extends Exception {
48: }
49:
50: class Status {
51: /** the field should be modified by jvmti agent to determine test result. */
52: public static boolean status = false;
53: }
|