ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ThreadTest.java
Revision: 1.20
Committed: Sat Mar 18 20:42:20 2017 UTC (7 years, 1 month ago) by jsr166
Branch: MAIN
Changes since 1.19: +1 -1 lines
Log Message:
better assertion style

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 jsr166 1.13 * http://creativecommons.org/publicdomain/zero/1.0/
5 jsr166 1.10 * Other contributors include Andrew Wright, Jeffrey Hayes,
6     * Pat Fisher, Mike Judd.
7 dl 1.1 */
8    
9 jsr166 1.15 import junit.framework.Test;
10     import junit.framework.TestSuite;
11 dl 1.1
12 dl 1.3 public class ThreadTest extends JSR166TestCase {
13 dl 1.1 public static void main(String[] args) {
14 jsr166 1.18 main(suite(), args);
15 dl 1.1 }
16 jsr166 1.10
17 dl 1.1 public static Test suite() {
18 jsr166 1.12 return new TestSuite(ThreadTest.class);
19 dl 1.1 }
20    
21     static class MyHandler implements Thread.UncaughtExceptionHandler {
22     public void uncaughtException(Thread t, Throwable e) {
23     e.printStackTrace();
24     }
25     }
26 jsr166 1.10
27 dl 1.5 /**
28 dl 1.6 * getUncaughtExceptionHandler returns ThreadGroup unless set,
29 dl 1.9 * otherwise returning value of last setUncaughtExceptionHandler.
30 dl 1.5 */
31 dl 1.1 public void testGetAndSetUncaughtExceptionHandler() {
32     // these must be done all at once to avoid state
33     // dependencies across tests
34     Thread current = Thread.currentThread();
35     ThreadGroup tg = current.getThreadGroup();
36     MyHandler eh = new MyHandler();
37 jsr166 1.16 assertSame(tg, current.getUncaughtExceptionHandler());
38 dl 1.1 current.setUncaughtExceptionHandler(eh);
39 jsr166 1.16 try {
40     assertSame(eh, current.getUncaughtExceptionHandler());
41     } finally {
42     current.setUncaughtExceptionHandler(null);
43     }
44     assertSame(tg, current.getUncaughtExceptionHandler());
45 dl 1.1 }
46 dl 1.4
47 dl 1.5 /**
48 dl 1.6 * getDefaultUncaughtExceptionHandler returns value of last
49 jsr166 1.10 * setDefaultUncaughtExceptionHandler.
50 dl 1.5 */
51 dl 1.4 public void testGetAndSetDefaultUncaughtExceptionHandler() {
52 jsr166 1.20 assertNull(Thread.getDefaultUncaughtExceptionHandler());
53 jsr166 1.19 // failure due to SecurityException is OK.
54 dl 1.4 // Would be nice to explicitly test both ways, but cannot yet.
55 jsr166 1.16 Thread.UncaughtExceptionHandler defaultHandler
56     = Thread.getDefaultUncaughtExceptionHandler();
57     MyHandler eh = new MyHandler();
58 dl 1.4 try {
59 dl 1.6 Thread.setDefaultUncaughtExceptionHandler(eh);
60 jsr166 1.16 try {
61     assertSame(eh, Thread.getDefaultUncaughtExceptionHandler());
62     } finally {
63     Thread.setDefaultUncaughtExceptionHandler(defaultHandler);
64     }
65     } catch (SecurityException ok) {
66     assertNotNull(System.getSecurityManager());
67 dl 1.6 }
68 jsr166 1.16 assertSame(defaultHandler, Thread.getDefaultUncaughtExceptionHandler());
69 dl 1.6 }
70    
71 dl 1.1 // How to test actually using UEH within junit?
72    
73     }