summaryrefslogtreecommitdiff
path: root/libjava/classpath/testsuite/java.lang/ThreadTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/testsuite/java.lang/ThreadTest.java')
-rw-r--r--libjava/classpath/testsuite/java.lang/ThreadTest.java48
1 files changed, 48 insertions, 0 deletions
diff --git a/libjava/classpath/testsuite/java.lang/ThreadTest.java b/libjava/classpath/testsuite/java.lang/ThreadTest.java
new file mode 100644
index 00000000000..cade822ec2a
--- /dev/null
+++ b/libjava/classpath/testsuite/java.lang/ThreadTest.java
@@ -0,0 +1,48 @@
+import java.lang.*;
+
+/* Simple producer/consumer thread test. */
+
+public class ThreadTest implements Runnable {
+
+ static String threadName = "Running thread";
+ static int count = 0;
+ static int max = 4; // XXX Seem to fail when >4 on kaffe 0.9.0
+
+ public void run() {
+ if (! Thread.currentThread().isAlive() ) {
+ System.out.println("FAILED: isAlive() false in new thread!");
+ } else {
+ System.out.println("PASSED: isAlive() working in new thread");
+ }
+ while (0 <= count && count <= max) {
+ count ++;
+ }
+ }
+
+ public static void main (String args[]) {
+ try {
+ if (! Thread.currentThread().isAlive() ) {
+ System.out.println("FAILED: isAlive() false in initial thread!");
+ } else {
+ System.out.println("PASSED: isAlive() working in initial thread");
+ }
+ ThreadTest test = new ThreadTest();
+
+ Thread testThread = new Thread(test, threadName);
+
+ testThread.setDaemon(true);
+ testThread.start();
+
+ Thread.currentThread().sleep(3000);
+
+ if (count < max) {
+ System.out.println("FAILED: unable to run new thread");
+ } else {
+ System.out.println("PASSED: Theads worked");
+ }
+ System.exit(0);
+ } catch (Exception e) {
+ System.out.println("FAILED: "+e);
+ }
+ }
+}