ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadTest.java
Revision: 1.9
Committed: Mon Dec 29 19:05:40 2003 UTC (20 years, 4 months ago) by dl
Branch: MAIN
CVS Tags: JSR166_PFD
Changes since 1.8: +1 -1 lines
Log Message:
spellcheck

File Contents

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