ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadTest.java
Revision: 1.7
Committed: Sat Nov 1 18:37:02 2003 UTC (20 years, 6 months ago) by dl
Branch: MAIN
CVS Tags: JSR166_NOV3_FREEZE, JSR166_DEC9_PRE_ES_SUBMIT, JSR166_DEC9_POST_ES_SUBMIT
Changes since 1.6: +0 -22 lines
Log Message:
Revised and added tests for revised PFT

File Contents

# Content
1 /*
2 * Written by members of JCP JSR-166 Expert Group and released to the
3 * public domain. Use, modify, and redistribute this code in any way
4 * without acknowledgement. Other contributors include Andrew Wright,
5 * Jeffrey Hayes, Pat Fischer, Mike Judd.
6 */
7
8 import junit.framework.*;
9
10 public class ThreadTest extends JSR166TestCase {
11 public static void main(String[] args) {
12 junit.textui.TestRunner.run(suite());
13 }
14
15 public static Test suite() {
16 return new TestSuite(ThreadTest.class);
17 }
18
19 static class MyHandler implements Thread.UncaughtExceptionHandler {
20 public void uncaughtException(Thread t, Throwable e) {
21 e.printStackTrace();
22 }
23 }
24
25 /**
26 * getUncaughtExceptionHandler returns ThreadGroup unless set,
27 * otherwise returning vlaue of last setUncaughtExceptionHandler.
28 */
29 public void testGetAndSetUncaughtExceptionHandler() {
30 // these must be done all at once to avoid state
31 // dependencies across tests
32 Thread current = Thread.currentThread();
33 ThreadGroup tg = current.getThreadGroup();
34 MyHandler eh = new MyHandler();
35 assertEquals(tg, current.getUncaughtExceptionHandler());
36 current.setUncaughtExceptionHandler(eh);
37 assertEquals(eh, current.getUncaughtExceptionHandler());
38 current.setUncaughtExceptionHandler(null);
39 assertEquals(tg, current.getUncaughtExceptionHandler());
40 }
41
42 /**
43 * getDefaultUncaughtExceptionHandler returns value of last
44 * setDefaultUncaughtExceptionHandler.
45 */
46 public void testGetAndSetDefaultUncaughtExceptionHandler() {
47 assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
48 // failure due to securityException is OK.
49 // Would be nice to explicitly test both ways, but cannot yet.
50 try {
51 Thread current = Thread.currentThread();
52 ThreadGroup tg = current.getThreadGroup();
53 MyHandler eh = new MyHandler();
54 Thread.setDefaultUncaughtExceptionHandler(eh);
55 assertEquals(eh, Thread.getDefaultUncaughtExceptionHandler());
56 Thread.setDefaultUncaughtExceptionHandler(null);
57 }
58 catch(SecurityException ok) {
59 }
60 assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
61 }
62
63
64 // How to test actually using UEH within junit?
65
66 }
67