Author: kkolinko
Date: Fri Apr 30 04:00:01 2010
New Revision: 939553

URL: http://svn.apache.org/viewvc?rev=939553&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49218
The test runs successfully if JreMemoryLeakPreventionListener is present.

Modified:
    tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java

Modified: 
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java?rev=939553&r1=939552&r2=939553&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java 
(original)
+++ 
tomcat/trunk/test/org/apache/catalina/core/TestStandardContextResources.java 
Fri Apr 30 04:00:01 2010
@@ -35,6 +35,20 @@ import org.apache.tomcat.util.buf.ByteCh
 
 public class TestStandardContextResources extends TomcatBaseTest {
 
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+
+        Tomcat tomcat = getTomcatInstance();
+
+        // BZ 49218: The test fails if JreMemoryLeakPreventionListener is not
+        // present. The listener affects the JVM, and thus not only the 
current,
+        // but also the subsequent tests that are run in the same JVM. So it is
+        // fair to add it in every test.
+        tomcat.getServer().addLifecycleListener(
+                new JreMemoryLeakPreventionListener());
+    }
+
     public void testResources() throws Exception {
         Tomcat tomcat = getTomcatInstance();
 
@@ -44,9 +58,6 @@ public class TestStandardContextResource
 
         tomcat.start();
 
-        if (false) {
-            // FIXME: These tests are currently failing. See comment in 
testResources2() below.
-            
         assertPageContains("/test/resourceA.jsp",
                 "<p>resourceA.jsp in the web application</p>");
         assertPageContains("/test/resourceB.jsp",
@@ -57,7 +68,6 @@ public class TestStandardContextResource
                 "<p>resourceD.jsp in resources.jar</p>");
         assertPageContains("/test/folder/resourceE.jsp",
                 "<p>resourceE.jsp in the web application</p>");
-        }
     }
 
     public void testResources2() throws Exception {
@@ -73,26 +83,6 @@ public class TestStandardContextResource
 
         tomcat.start();
 
-        // FIXME: These tests are currently failing.
-        //
-        // I do not have a fix yet, but I know the following:
-        // when trying to get "/resourceB.jsp" in 
ApplicationContext#getResource()
-        // an Exception is caught and silently swallowed. That exception is
-        //
-        // java.lang.IllegalStateException: zip file closed
-        // at java.util.jar.JarFile.getMetaInfEntryNames(Native Method)
-        // at java.util.jar.JarFile.maybeInstantiateVerifier(JarFile.java:277)
-        // at java.util.jar.JarFile.getInputStream(JarFile.java:381)
-        // at 
org.apache.naming.resources.WARDirContext$WARResource.streamContent(WARDirContext.java:951)
-        // at 
org.apache.naming.resources.ProxyDirContext.cacheLoad(ProxyDirContext.java:1578)
-        // at 
org.apache.naming.resources.ProxyDirContext.cacheLookup(ProxyDirContext.java:1458)
-        // at 
org.apache.naming.resources.ProxyDirContext.lookup(ProxyDirContext.java:292)
-        // at 
org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:506)
-        // at 
org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:196)
-        // at 
org.apache.catalina.core.TestStandardContextResources$GetResourceServlet.doGet(TestStandardContextResources.java:126)
-        //
-        if (false) {
-        
         assertPageContains("/test/getresource?path=/resourceA.jsp",
                 "<p>resourceA.jsp in the web application</p>");
         assertPageContains("/test/getresource?path=/resourceB.jsp",
@@ -103,7 +93,6 @@ public class TestStandardContextResource
                 "<p>resourceD.jsp in resources.jar</p>");
         assertPageContains("/test/getresource?path=/folder/resourceE.jsp",
                 "<p>resourceE.jsp in the web application</p>");
-        }
     }
 
     /**



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

Reply via email to