diff options
author | jeffhao <jeffhao@google.com> | 2011-09-29 17:41:15 -0700 |
---|---|---|
committer | jeffhao <jeffhao@google.com> | 2011-09-29 17:41:15 -0700 |
commit | 5d1ac920fdaef5d4ec8f66bb734488cd9660b024 (patch) | |
tree | dd372f306ab70f4c86759869b1f74eca62ff6f2b /test/054-uncaught | |
parent | c31664f3d82e6cd68275a529a8a73f067a52e8be (diff) | |
download | art-5d1ac920fdaef5d4ec8f66bb734488cd9660b024.tar.gz art-5d1ac920fdaef5d4ec8f66bb734488cd9660b024.tar.bz2 art-5d1ac920fdaef5d4ec8f66bb734488cd9660b024.zip |
Adding old unit tests to test suite.
These tests are copied straight over. They'll still run, but they're
using the old system.
Change-Id: If494519e52ddf858a9febfc55bdae830468cb3c8
Diffstat (limited to 'test/054-uncaught')
-rw-r--r-- | test/054-uncaught/expected.txt | 21 | ||||
-rw-r--r-- | test/054-uncaught/info.txt | 6 | ||||
-rw-r--r-- | test/054-uncaught/src/Main.java | 63 | ||||
-rw-r--r-- | test/054-uncaught/src/ThreadDeathHandler.java | 19 |
4 files changed, 109 insertions, 0 deletions
diff --git a/test/054-uncaught/expected.txt b/test/054-uncaught/expected.txt new file mode 100644 index 0000000000..e7473be8ab --- /dev/null +++ b/test/054-uncaught/expected.txt @@ -0,0 +1,21 @@ +Test 1 +Uncaught exception DEFAULT! +java.lang.NullPointerException: Hi diddly-ho, neighborino. + at Main.catchTheUncaught(Main.java:49) + at Main$Helper.run(Main.java:60) +Test 2 +Uncaught exception THREAD! +java.lang.NullPointerException: Hi diddly-ho, neighborino. + at Main.catchTheUncaught(Main.java:49) + at Main$Helper.run(Main.java:60) +Test 3 +Uncaught exception THREAD! +java.lang.NullPointerException: Hi diddly-ho, neighborino. + at Main.catchTheUncaught(Main.java:49) + at Main$Helper.run(Main.java:60) +Test 1 +Uncaught exception DEFAULT! +java.lang.NullPointerException: Hi diddly-ho, neighborino. + at Main.catchTheUncaught(Main.java:49) + at Main.main(Main.java:12) + at dalvik.system.NativeStart.main(Native Method) diff --git a/test/054-uncaught/info.txt b/test/054-uncaught/info.txt new file mode 100644 index 0000000000..08127da231 --- /dev/null +++ b/test/054-uncaught/info.txt @@ -0,0 +1,6 @@ +This is a miscellaneous test that was imported into the new-at-the-time +runtime test framework. The test is intended to exercise basic features, +and as such cannot be build on top of junit, since failure of such basic +features might disrupt junit. + +TODO: Real description goes here. diff --git a/test/054-uncaught/src/Main.java b/test/054-uncaught/src/Main.java new file mode 100644 index 0000000000..4ee6b050ad --- /dev/null +++ b/test/054-uncaught/src/Main.java @@ -0,0 +1,63 @@ +// Copyright 2006 The Android Open Source Project + +/** + * Test the uncaught exception handler. + */ +public class Main { + public static void main(String[] args) { + testThread(1); + testThread(2); + testThread(3); + + catchTheUncaught(1); + } + + private static void testThread(int which) { + Thread t = new Helper(which); + t.start(); + + try { + t.join(); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + + static void catchTheUncaught(int which) { + ThreadDeathHandler defHandler = new ThreadDeathHandler("DEFAULT"); + ThreadDeathHandler threadHandler = new ThreadDeathHandler("THREAD"); + + System.out.println("Test " + which); + switch (which) { + case 1: { + Thread.setDefaultUncaughtExceptionHandler(defHandler); + break; + } + case 2: { + Thread.currentThread().setUncaughtExceptionHandler( + threadHandler); + break; + } + case 3: { + Thread.setDefaultUncaughtExceptionHandler(defHandler); + Thread.currentThread().setUncaughtExceptionHandler( + threadHandler); + break; + } + } + + throw new NullPointerException("Hi diddly-ho, neighborino."); + } + + private static class Helper extends Thread { + private int which; + + public Helper(int which) { + this.which = which; + } + + public void run() { + catchTheUncaught(which); + } + } +} diff --git a/test/054-uncaught/src/ThreadDeathHandler.java b/test/054-uncaught/src/ThreadDeathHandler.java new file mode 100644 index 0000000000..5ea61a52d0 --- /dev/null +++ b/test/054-uncaught/src/ThreadDeathHandler.java @@ -0,0 +1,19 @@ +// Copyright 2007 The Android Open Source Project + +import java.lang.Thread.UncaughtExceptionHandler; + +/** + * Report death-by-uncaught-exception. + */ +public class ThreadDeathHandler implements Thread.UncaughtExceptionHandler { + private String mMyMessage; + + public ThreadDeathHandler(String msg) { + mMyMessage = msg; + } + + public void uncaughtException(Thread t, Throwable e) { + System.err.println("Uncaught exception " + mMyMessage + "!"); + e.printStackTrace(); + } +} |