diff options
Diffstat (limited to 'libjava/classpath/testsuite/java.lang/ThreadTest.java')
-rw-r--r-- | libjava/classpath/testsuite/java.lang/ThreadTest.java | 48 |
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); + } + } +} |