You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by pe...@apache.org on 2010/07/02 20:30:34 UTC
svn commit: r960083 -
/tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java
Author: pero
Date: Fri Jul 2 18:30:34 2010
New Revision: 960083
URL: http://svn.apache.org/viewvc?rev=960083&view=rev
Log:
Test NIO AsyncListener timeout.
Modified:
tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java
Modified: tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java?rev=960083&r1=960082&r2=960083&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestAsyncListener.java Fri Jul 2 18:30:34 2010
@@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.catalina.Context;
import org.apache.catalina.Wrapper;
+import org.apache.catalina.connector.Connector;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.startup.TomcatBaseTest;
import org.apache.tomcat.util.buf.ByteChunk;
@@ -44,8 +45,38 @@ public class TestAsyncListener extends T
public void testTimeout() throws Exception {
// Setup Tomcat instance
+ Tomcat tomcat = getTomcatInstance();
+
+ TimeoutServlet timeout = createTimeoutTestApp(tomcat);
+ tomcat.start();
+ checkTimeoutRequest(timeout);
+ }
+
+ public void testNIOTimeout() throws Exception {
+ // Setup Tomcat instance with NIO Connector
Tomcat tomcat = getTomcatInstance();
+ Connector nioConnector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
+ nioConnector.setPort(getNextPort());
+ tomcat.getService().addConnector(nioConnector);
+ TimeoutServlet timeout = createTimeoutTestApp(tomcat);
+
+ tomcat.start();
+ checkTimeoutRequest(timeout);
+ }
+
+ private void checkTimeoutRequest(TimeoutServlet timeout)
+ throws IOException, InterruptedException {
+ ByteChunk res = getUrl("http://localhost:" + getPort() + "/async");
+ Thread.sleep(4000);
+ assertEquals(1,timeout.getAsyncTimeout());
+ //assertEquals(1,timeout.getAsyncStart());
+ assertEquals(1,timeout.getAsyncComplete());
+ //assertEquals("hello start: " + timeout.getStart() + "\n", res.toString());
+ assertNull(res.toString());
+ }
+
+ private TimeoutServlet createTimeoutTestApp(Tomcat tomcat) {
// Must have a real docBase - just use temp
File docBase = new File(System.getProperty("java.io.tmpdir"));
@@ -62,15 +93,7 @@ public class TestAsyncListener extends T
Wrapper wrapper = Tomcat.addServlet(ctx, "time", timeout);
wrapper.setAsyncSupported(true);
ctx.addServletMapping("/async", "time");
-
- tomcat.start();
- ByteChunk res = getUrl("http://localhost:" + getPort() + "/async");
- Thread.sleep(4000);
- assertEquals(1,timeout.getAsyncTimeout());
- //assertEquals(1,timeout.getAsyncStart());
- assertEquals(1,timeout.getAsyncComplete());
- //assertEquals("hello start: " + timeout.getStart() + "\n", res.toString());
- assertNull(res.toString());
+ return timeout;
}
private static class TimeoutServlet extends HttpServlet {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org