Fixed resource leaks in tests.
diff --git a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
index e82254c..c580959 100644
--- a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
+++ b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/DirTransformerTests.java
@@ -181,13 +181,17 @@
     }
 
     private void checkManifest(File manifestFile) throws IOException {
-        InputStream is = new FileInputStream(manifestFile);
-        Manifest manifest = new Manifest(is);
-        Attributes attr = manifest.getMainAttributes();
-        String value = attr.getValue("Custom-Header");
-        assertEquals("test", value);
-        assertEquals(1, attr.size());
-        IOUtils.closeQuietly(is);
+        InputStream is = null;
+        try {
+            is = new FileInputStream(manifestFile);
+            Manifest manifest = new Manifest(is);
+            Attributes attr = manifest.getMainAttributes();
+            String value = attr.getValue("Custom-Header");
+            assertEquals("test", value);
+            assertEquals(1, attr.size());
+        } finally {
+            IOUtils.closeQuietly(is);
+        }
     }
 
     private void createManifest(File manifest, String... headers) throws IOException {
diff --git a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
index 520ac6d..ed8cd69 100644
--- a/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
+++ b/org.eclipse.gemini.web.core/src/test/java/org/eclipse/gemini/web/internal/url/WebBundleUrlStreamHandlerServiceTests.java
@@ -122,22 +122,25 @@
 
         File webAppDir = new File(connection.getURL().getPath());
         // Check Manifest
-        InputStream is = new FileInputStream(new File(webAppDir, JarFile.MANIFEST_NAME));
-        Manifest manifest = new Manifest(is);
+        InputStream is = null;
+        try {
+            is = new FileInputStream(new File(webAppDir, JarFile.MANIFEST_NAME));
+            Manifest manifest = new Manifest(is);
 
-        if (manifest != null) {
-            Attributes mainAttributes = manifest.getMainAttributes();
-            Set<Entry<Object, Object>> entrySet = mainAttributes.entrySet();
-            for (Entry<Object, Object> entry : entrySet) {
-                System.out.println(entry.getKey() + ": " + entry.getValue());
-                if ("Web-ContextPath".equals(entry.getKey().toString())) {
-                    assertTrue(contextPath.equals(entry.getValue().toString()));
+            if (manifest != null) {
+                Attributes mainAttributes = manifest.getMainAttributes();
+                Set<Entry<Object, Object>> entrySet = mainAttributes.entrySet();
+                for (Entry<Object, Object> entry : entrySet) {
+                    System.out.println(entry.getKey() + ": " + entry.getValue());
+                    if ("Web-ContextPath".equals(entry.getKey().toString())) {
+                        assertTrue(contextPath.equals(entry.getValue().toString()));
+                    }
                 }
             }
+        } finally {
+            IOUtils.closeQuietly(is);
         }
 
-        IOUtils.closeQuietly(is);
-
         // Check web.xml
         assertEquals(webXml.length(), new File(webAppDir, "WEB-INF" + File.separator + "web.xml").length());
 
diff --git a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
index 445c721..3a299f8 100644
--- a/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
+++ b/org.eclipse.gemini.web.test/src/test/java/org/eclipse/gemini/web/test/tomcat/TomcatServletContainerTests.java
@@ -116,12 +116,15 @@
     @Test
     public void testServletContainerAvailable() {
         assertNotNull(this.container);
+        Socket socket = null;
         try {
-            new Socket("localhost", 8080);
+            socket = new Socket("localhost", 8080);
         } catch (UnknownHostException e) {
             fail("Unable to connect");
         } catch (IOException e) {
             fail("Unable to connect");
+        } finally {
+            IOUtils.closeQuietly(socket);
         }
     }
 
diff --git a/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/TomcatConfigLocatorTests.java b/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/TomcatConfigLocatorTests.java
index 6db195a..1ebe03a 100644
--- a/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/TomcatConfigLocatorTests.java
+++ b/org.eclipse.gemini.web.tomcat/src/test/java/org/eclipse/gemini/web/tomcat/internal/TomcatConfigLocatorTests.java
@@ -25,9 +25,11 @@
 import static org.junit.Assert.assertTrue;
 
 import java.io.File;
+import java.io.InputStream;
 import java.net.URL;
 import java.util.Vector;
 
+import org.eclipse.virgo.util.io.IOUtils;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -44,7 +46,12 @@
 
         replay(mockBundle, mockContext);
 
-        TomcatConfigLocator.resolveConfigFile(mockContext);
+        InputStream is = null;
+        try {
+            is = TomcatConfigLocator.resolveConfigFile(mockContext);
+        } finally {
+            IOUtils.closeQuietly(is);
+        }
 
         verify(mockBundle, mockContext);
     }
@@ -61,7 +68,12 @@
         BundleContext mockContext = createMockBundleContext(mockBundle);
         replay(mockBundle, mockContext);
 
-        TomcatConfigLocator.resolveConfigFile(mockContext);
+        InputStream is = null;
+        try {
+            is = TomcatConfigLocator.resolveConfigFile(mockContext);
+        } finally {
+            IOUtils.closeQuietly(is);
+        }
 
         verify(mockBundle, mockContext);
     }
@@ -77,7 +89,12 @@
 
         replay(mockBundle, mockContext);
 
-        TomcatConfigLocator.resolveConfigFile(mockContext);
+        InputStream is = null;
+        try {
+            is = TomcatConfigLocator.resolveConfigFile(mockContext);
+        } finally {
+            IOUtils.closeQuietly(is);
+        }
     }
 
     @Test