From: Tom Tromey Date: Fri, 2 Jul 1999 15:47:37 +0000 (+0000) Subject: Thread_1.out: Updated. X-Git-Tag: releases/libgcj-2.95.0~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b294813bab8b4bda76a5392169a43180562f361;p=thirdparty%2Fgcc.git Thread_1.out: Updated. * libjava.lang/Thread_1.out: Updated. * libjava.lang/Thread_1.java: Don't run exit test. From-SVN: r27926 --- diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog index f0cd13a3e5ef..e04322985ec2 100644 --- a/libjava/testsuite/ChangeLog +++ b/libjava/testsuite/ChangeLog @@ -1,3 +1,8 @@ +1999-07-02 Tom Tromey + + * libjava.lang/Thread_1.out: Updated. + * libjava.lang/Thread_1.java: Don't run exit test. + Thu Jul 1 16:22:19 1999 Anthony Green * libjava.mauve/mauve.exp: Don't stop counting test results diff --git a/libjava/testsuite/libjava.lang/Thread_1.java b/libjava/testsuite/libjava.lang/Thread_1.java index 932afa5dd73c..851df630d161 100644 --- a/libjava/testsuite/libjava.lang/Thread_1.java +++ b/libjava/testsuite/libjava.lang/Thread_1.java @@ -1,182 +1,3 @@ -// Various thread tests. - -public class Thread_1 extends Thread -{ - // The group for the workers. - static ThreadGroup subgroup; - - // Which piece of test code to try. - static int test_case; - - // Names of the tests. - static final int JOIN_GOOD = 0; - static final int JOIN_TIMEOUT = 1; - static final int JOIN_INTERRUPTED = 2; - static final int THREAD_EXIT = 3; - - // True if this is normal; false if daemon. - boolean normal; - // The other thread in the test. - Thread_1 other; - // True when the thread has entered run(). - boolean started; - - public void run () - { - try - { - if (normal) - { - System.out.println ("test " + test_case); - // Tell the main thread to start the daemon thread. - synchronized (this) - { - started = true; - notify (); - } - // Now wait for daemon to start. - synchronized (other) - { - while (! other.started) - other.wait (); - } - switch (test_case) - { - case JOIN_GOOD: - other.join (); - System.out.println ("joined"); - break; - case JOIN_TIMEOUT: - other.join (10); - System.out.println (other.isAlive()); - other.join (); - break; - case JOIN_INTERRUPTED: - other.join (); - System.out.println ("joined"); - break; - case THREAD_EXIT: - // Nothing. - break; - - default: - System.out.println ("failure"); - break; - } - } - else - { - // Let the normal thread start first. - synchronized (other) - { - while (! other.started) - other.wait(); - } - // Tell normal thread that we've started. - synchronized (this) - { - started = true; - notify (); - } - switch (test_case) - { - case JOIN_GOOD: - System.out.println ("daemon done"); - break; - case JOIN_TIMEOUT: - sleep (50); - break; - case JOIN_INTERRUPTED: - other.interrupt (); - break; - case THREAD_EXIT: - // Wait for a while. However, don't wait indefinitely - // -- we want this thread to terminate so that the - // process won't hang if there is a bug. - sleep (10000); - System.out.println ("daemon still alive"); - break; - - default: - System.out.println ("failure"); - break; - } - } - } - catch (InterruptedException e) - { - System.out.println ("interrupted"); - } - } - - public void setOther (Thread_1 x) - { - other = x; - } - - Thread_1 (String name, boolean x) - { - super (subgroup, name); - normal = x; - started = false; - setDaemon (! normal); - } - - // Run a single test. - static Thread_1 doit (int what) - { - // FIXME: we used to just use the same threads each time. That - // didn't work -- must debug. - Thread_1 dt = new Thread_1 ("daemon", false); - Thread_1 nt = new Thread_1 ("normal", true); - - dt.setOther(nt); - nt.setOther(dt); - - test_case = what; - try - { - nt.start(); - dt.start(); - - // Don't wait for the threads if we're doing the exit test. - if (what != THREAD_EXIT) - { - nt.join (); - dt.join (); - } - } - catch (InterruptedException e) - { - System.out.println ("caught bad exception"); - } - - return dt; - } - - public static void main (String[] args) - { - subgroup = new ThreadGroup ("sub"); - - doit (JOIN_GOOD); - - System.out.println ("active count = " + subgroup.activeCount ()); - - Thread_1 dt = doit (JOIN_TIMEOUT); - // Make sure that joining a dead thread works. - System.out.println ("still alive: " + dt.isAlive ()); - try - { - dt.join (); - } - catch (InterruptedException e) - { - System.out.println ("exception caught"); - } - - doit (JOIN_INTERRUPTED); - - // This test must come last. - doit (THREAD_EXIT); - } -} + // Note: this test has a race conditoin. So we don't run it any + // more. + // doit (THREAD_EXIT); diff --git a/libjava/testsuite/libjava.lang/Thread_1.out b/libjava/testsuite/libjava.lang/Thread_1.out index 1bd7a0124d9e..e69de29bb2d1 100644 --- a/libjava/testsuite/libjava.lang/Thread_1.out +++ b/libjava/testsuite/libjava.lang/Thread_1.out @@ -1,10 +0,0 @@ -test 0 -daemon done -joined -active count = 2 -test 1 -true -still alive: false -test 2 -interrupted -test 3