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

# 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     * 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     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 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     assertEquals(tg, current.getUncaughtExceptionHandler());
37     current.setUncaughtExceptionHandler(eh);
38     assertEquals(eh, current.getUncaughtExceptionHandler());
39     current.setUncaughtExceptionHandler(null);
40     assertEquals(tg, current.getUncaughtExceptionHandler());
41     }
42 dl 1.4
43 dl 1.5 /**
44 dl 1.6 * getDefaultUncaughtExceptionHandler returns value of last
45     * 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     catch(SecurityException ok) {
60     }
61     assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
62     }
63    
64 dl 1.1
65     // How to test actually using UEH within junit?
66    
67     }
68