ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadTest.java
Revision: 1.12
Committed: Sat Nov 21 02:07:27 2009 UTC (14 years, 5 months ago) by jsr166
Branch: MAIN
Changes since 1.11: +5 -5 lines
Log Message:
untabify

File Contents

# User Rev Content
1 dl 1.1 /*
2 dl 1.8 * 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 jsr166 1.10 * Other contributors include Andrew Wright, Jeffrey Hayes,
6     * Pat Fisher, Mike Judd.
7 dl 1.1 */
8    
9     import junit.framework.*;
10    
11 dl 1.3 public class ThreadTest extends JSR166TestCase {
12 dl 1.1 public static void main(String[] args) {
13 jsr166 1.12 junit.textui.TestRunner.run(suite());
14 dl 1.1 }
15 jsr166 1.10
16 dl 1.1 public static Test suite() {
17 jsr166 1.12 return new TestSuite(ThreadTest.class);
18 dl 1.1 }
19    
20     static class MyHandler implements Thread.UncaughtExceptionHandler {
21     public void uncaughtException(Thread t, Throwable e) {
22     e.printStackTrace();
23     }
24     }
25 jsr166 1.10
26 dl 1.5 /**
27 dl 1.6 * getUncaughtExceptionHandler returns ThreadGroup unless set,
28 dl 1.9 * otherwise returning value of last setUncaughtExceptionHandler.
29 dl 1.5 */
30 dl 1.1 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 jsr166 1.12 assertEquals(tg, current.getUncaughtExceptionHandler());
37 dl 1.1 current.setUncaughtExceptionHandler(eh);
38 jsr166 1.12 assertEquals(eh, current.getUncaughtExceptionHandler());
39 dl 1.1 current.setUncaughtExceptionHandler(null);
40 jsr166 1.12 assertEquals(tg, current.getUncaughtExceptionHandler());
41 dl 1.1 }
42 dl 1.4
43 dl 1.5 /**
44 dl 1.6 * getDefaultUncaughtExceptionHandler returns value of last
45 jsr166 1.10 * setDefaultUncaughtExceptionHandler.
46 dl 1.5 */
47 dl 1.4 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 dl 1.6 Thread.setDefaultUncaughtExceptionHandler(eh);
56     assertEquals(eh, Thread.getDefaultUncaughtExceptionHandler());
57     Thread.setDefaultUncaughtExceptionHandler(null);
58     }
59 jsr166 1.11 catch (SecurityException ok) {
60 dl 1.6 }
61     assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
62     }
63    
64 jsr166 1.10
65 dl 1.1 // How to test actually using UEH within junit?
66    
67     }