You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/23 13:05:07 UTC

svn commit: r1516821 - in /tomcat/trunk/test/org/apache/catalina: nonblocking/TestNonBlockingAPI.java valves/TesterAccessLogValve.java

Author: markt
Date: Fri Aug 23 11:05:07 2013
New Revision: 1516821

URL: http://svn.apache.org/r1516821
Log:
Make test more resilient against timing differences on different platforms. Hopefully this fixes the failure current seen on Gump runs.

Modified:
    tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
    tomcat/trunk/test/org/apache/catalina/valves/TesterAccessLogValve.java

Modified: tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java?rev=1516821&r1=1516820&r2=1516821&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java (original)
+++ tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java Fri Aug 23 11:05:07 2013
@@ -310,11 +310,16 @@ public class TestNonBlockingAPI extends 
         String line = resultString.substring(lineStart, lineEnd + 1);
         Assert.assertEquals("HTTP/1.1 200 OK\r\n", line);
 
-        try {
-            //allow the listeners to finish up
-            Thread.sleep(1000);
-        } catch (Exception e) {
+        // Listeners are invoked and access valve entries created on a different
+        // thread so give that thread a chance to complete its work.
+        int count = 0;
+        while (count < 50 ||
+                !(servlet.wlistener.onErrorInvoked || servlet.rlistener.onErrorInvoked) ||
+                alv.getEntryCount() < 1) {
+            Thread.sleep(100);
+            count ++;
         }
+
         Assert.assertTrue("Error listener should have been invoked.",
                 servlet.wlistener.onErrorInvoked || servlet.rlistener.onErrorInvoked);
 

Modified: tomcat/trunk/test/org/apache/catalina/valves/TesterAccessLogValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/valves/TesterAccessLogValve.java?rev=1516821&r1=1516820&r2=1516821&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/valves/TesterAccessLogValve.java (original)
+++ tomcat/trunk/test/org/apache/catalina/valves/TesterAccessLogValve.java Fri Aug 23 11:05:07 2013
@@ -65,6 +65,10 @@ public class TesterAccessLogValve extend
         getNext().invoke(request, response);
     }
 
+    public int getEntryCount() {
+        return entries.size();
+    }
+
     public void validateAccessLog(int count, int status, long minTime,
             long maxTime) throws Exception {
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org