ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadTest.java
Revision: 1.5
Committed: Sat Sep 20 18:20:08 2003 UTC (20 years, 7 months ago) by dl
Branch: MAIN
Changes since 1.4: +6 -0 lines
Log Message:
Documentation scaffolding

File Contents

# User Rev Content
1 dl 1.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 dl 1.3 public class ThreadTest extends JSR166TestCase {
11 dl 1.1 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 dl 1.5 /**
26     *
27     */
28 dl 1.1 public void testGetAndSetUncaughtExceptionHandler() {
29     // these must be done all at once to avoid state
30     // dependencies across tests
31     Thread current = Thread.currentThread();
32     ThreadGroup tg = current.getThreadGroup();
33     MyHandler eh = new MyHandler();
34     assertEquals(tg, current.getUncaughtExceptionHandler());
35     current.setUncaughtExceptionHandler(eh);
36     assertEquals(eh, current.getUncaughtExceptionHandler());
37     current.setUncaughtExceptionHandler(null);
38     assertEquals(tg, current.getUncaughtExceptionHandler());
39     }
40 dl 1.4
41 dl 1.5 /**
42     *
43     */
44 dl 1.4 public void testGetAndSetDefaultUncaughtExceptionHandler() {
45     assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
46     // failure due to securityException is OK.
47     // Would be nice to explicitly test both ways, but cannot yet.
48     try {
49     Thread current = Thread.currentThread();
50     ThreadGroup tg = current.getThreadGroup();
51     MyHandler eh = new MyHandler();
52     assertEquals(tg, current.getUncaughtExceptionHandler());
53     Thread.setDefaultUncaughtExceptionHandler(eh);
54     Thread.setDefaultUncaughtExceptionHandler(null);
55     assertEquals(tg, current.getUncaughtExceptionHandler());
56     }
57     catch(SecurityException ok) {
58     }
59     assertEquals(null, Thread.getDefaultUncaughtExceptionHandler());
60     }
61 dl 1.1
62     // How to test actually using UEH within junit?
63    
64     }
65