Author: violetagg Date: Wed Jan 7 15:18:27 2015 New Revision: 1650081 URL: http://svn.apache.org/r1650081 Log: Test case that reproduces ServletRequestListener.requestDestroyed problem. Mark it with @Ignore in order to keep the build 'green'.
Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java?rev=1650081&r1=1650080&r2=1650081&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java (original) +++ tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java Wed Jan 7 15:18:27 2015 @@ -17,13 +17,18 @@ package org.apache.catalina.core; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import javax.servlet.ServletException; +import javax.servlet.ServletRequestEvent; +import javax.servlet.ServletRequestListener; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; import org.apache.catalina.Context; @@ -68,6 +73,48 @@ public class TestStandardHostValve exten doTestErrorPageHandling(501, "/default"); } + @Test + @Ignore + public void testSRLAfterError() throws Exception { + // Set up a container + Tomcat tomcat = getTomcatInstance(); + + // No file system docBase required + Context ctx = tomcat.addContext("", null); + + // Add the error page + Tomcat.addServlet(ctx, "error", new ErrorServlet()); + ctx.addServletMapping("/error", "error"); + + final List<String> result = new ArrayList<>(); + + // Add the request listener + ServletRequestListener servletRequestListener = new ServletRequestListener() { + + @Override + public void requestDestroyed(ServletRequestEvent sre) { + result.add("Visit requestDestroyed"); + } + + @Override + public void requestInitialized(ServletRequestEvent sre) { + result.add("Visit requestInitialized"); + } + + }; + ((StandardContext) ctx).addApplicationEventListener(servletRequestListener); + + tomcat.start(); + + // Request a page that triggers an error + ByteChunk bc = new ByteChunk(); + int rc = getUrl("http://localhost:" + getPort() + "/error?errorCode=400", bc, null); + + Assert.assertEquals(400, rc); + Assert.assertTrue(result.contains("Visit requestInitialized")); + Assert.assertTrue(result.contains("Visit requestDestroyed")); + } + private void doTestErrorPageHandling(int error, String report) throws Exception { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org