Author: markt
Date: Tue Sep 20 08:33:44 2011
New Revision: 1173020
URL: http://svn.apache.org/viewvc?rev=1173020&view=rev
Log:
Better detection of thread termination at end of test
Better failure messages so it is easier to see the cause of any failure
immediately
Modified:
tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1173020&r1=1173019&r2=1173020&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
(original)
+++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Tue Sep
20 08:33:44 2011
@@ -154,14 +154,27 @@ public class TestCometProcessor extends
tomcat.getConnector().stop();
tomcat.getConnector().destroy();
- // Sleep for a couple of seconds to give enough time for the connector
- // stop message to be processed
- Thread.sleep(2000);
+ // Wait for the write thread to stop
+ int count = 0;
+ while (writeThread.isAlive() && count < 100) {
+ Thread.sleep(100);
+ count ++;
+ }
+
+ // Wait for the read thread to stop
+ count = 0;
+ while (readThread.isAlive() && count < 100) {
+ Thread.sleep(100);
+ count ++;
+ }
// Write should trigger an exception once the connector stops since the
// socket should be closed
- assertNotNull(writeThread.getException());
- assertNull(readThread.getException());
+ assertNotNull("No exception in writing thread",
+ writeThread.getException());
+ // Read should terminate gracefully with an EOF
+ assertNull("Read thread terminated with an exception",
+ readThread.getException());
}
private boolean isCometSupported() {
@@ -217,7 +230,7 @@ public class TestCometProcessor extends
private int pingCount;
private OutputStream os;
- private Exception e = null;
+ private volatile Exception e = null;
public PingWriterThread(int pingCount, OutputStream os) {
this.pingCount = pingCount;
@@ -271,6 +284,7 @@ public class TestCometProcessor extends
response.append((char) c);
c = is.read();
}
+ System.out.println("EOF");
} catch (Exception e) {
this.e = e;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]