Tidy up MockWebServer usage

Make sure that MockWebServer instances are shut down
correctly after tests.

Test: Ran the tests under CTS
Bug: 29820565
Bug: 29365528
(cherry picked from commit 9cc268daf1a03b745f5c161173816a3340beffa0)

Change-Id: If9b5a0681cd1e0633accbb4cd84feb10d863c0d7
diff --git a/luni/src/test/java/libcore/java/net/AbstractCookiesTest.java b/luni/src/test/java/libcore/java/net/AbstractCookiesTest.java
index ab1b822..6e29a62 100644
--- a/luni/src/test/java/libcore/java/net/AbstractCookiesTest.java
+++ b/luni/src/test/java/libcore/java/net/AbstractCookiesTest.java
@@ -69,10 +69,12 @@
     private CookieHandler defaultHandler;
     private CookieManager cookieManager;
     private CookieStore cookieStore;
+    private MockWebServer server;
 
 
     @Override public void setUp() throws Exception {
         super.setUp();
+        server = new MockWebServer();
         defaultHandler = CookieHandler.getDefault();
         cookieManager = new CookieManager(createCookieStore(), null);
         cookieStore = cookieManager.getCookieStore();
@@ -80,6 +82,7 @@
 
     @Override public void tearDown() throws Exception {
         CookieHandler.setDefault(defaultHandler);
+        server.shutdown();
         super.tearDown();
     }
 
@@ -89,7 +92,6 @@
         CookieManager cookieManager = new CookieManager(createCookieStore(),
                 ACCEPT_ORIGINAL_SERVER);
         CookieHandler.setDefault(cookieManager);
-        MockWebServer server = new MockWebServer();
         server.play();
 
         server.enqueue(new MockResponse().addHeader("Set-Cookie: a=android; "
@@ -118,7 +120,6 @@
         CookieManager cookieManager = new CookieManager(createCookieStore(),
                 ACCEPT_ORIGINAL_SERVER);
         CookieHandler.setDefault(cookieManager);
-        MockWebServer server = new MockWebServer();
         server.play();
 
         server.enqueue(new MockResponse().addHeader("Set-Cookie: a=android; "
@@ -149,7 +150,6 @@
         CookieManager cookieManager = new CookieManager(createCookieStore(),
                 ACCEPT_ORIGINAL_SERVER);
         CookieHandler.setDefault(cookieManager);
-        MockWebServer server = new MockWebServer();
         server.play();
 
         server.enqueue(new MockResponse().addHeader("Set-Cookie2: a=android; "
@@ -185,7 +185,6 @@
                 ACCEPT_ORIGINAL_SERVER);
 
         CookieHandler.setDefault(cookieManager);
-        MockWebServer server = new MockWebServer();
         server.play();
 
         server.enqueue(new MockResponse().addHeader("Set-Cookie2: a=\"android\"; "
@@ -337,7 +336,6 @@
     }
 
     public void testSendingCookiesFromStore() throws Exception {
-        MockWebServer server = new MockWebServer();
         server.enqueue(new MockResponse());
         server.play();
 
@@ -389,6 +387,8 @@
                 fail(header);
             }
         }
+        redirectSource.shutdown();
+        redirectTarget.shutdown();
     }
 
     /**
@@ -412,7 +412,6 @@
                 return result;
             }
         });
-        MockWebServer server = new MockWebServer();
         server.enqueue(new MockResponse());
         server.play();
 
@@ -461,7 +460,6 @@
                 return result;
             }
         });
-        MockWebServer server = new MockWebServer();
         server. enqueue(new MockResponse());
         server.play();
 
diff --git a/luni/src/test/java/libcore/java/net/OldCookieHandlerTest.java b/luni/src/test/java/libcore/java/net/OldCookieHandlerTest.java
index 0e11d50..a55af3f 100644
--- a/luni/src/test/java/libcore/java/net/OldCookieHandlerTest.java
+++ b/luni/src/test/java/libcore/java/net/OldCookieHandlerTest.java
@@ -30,6 +30,20 @@
 
 public class OldCookieHandlerTest extends TestCase {
 
+    private MockWebServer server;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        server = new MockWebServer();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        server.shutdown();
+        super.tearDown();
+    }
+
     public void test_CookieHandler() {
         assertNull(CookieHandler.getDefault());
     }
@@ -40,7 +54,6 @@
         try {
             CookieHandler.setDefault(mch);
 
-            MockWebServer server = new MockWebServer();
             server.play();
             server.enqueue(new MockResponse().addHeader("Set-Cookie2: a=\"android\"; "
                     + "Comment=\"this cookie is delicious\"; "
diff --git a/luni/src/test/java/libcore/xml/ExpatSaxParserTest.java b/luni/src/test/java/libcore/xml/ExpatSaxParserTest.java
index ccac61a..a065cb8 100644
--- a/luni/src/test/java/libcore/xml/ExpatSaxParserTest.java
+++ b/luni/src/test/java/libcore/xml/ExpatSaxParserTest.java
@@ -623,6 +623,7 @@
         source.setSystemId(server.getUrl("/systemFoo").toString());
         reader.parse(source);
         assertEquals(Arrays.asList("foo", "bar", "/bar", "/foo"), handler.elementNames);
+        server.shutdown();
     }
 
     /**
diff --git a/luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java b/luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java
index abf06e0..b568eeb 100644
--- a/luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java
+++ b/luni/src/test/java/org/apache/harmony/luni/tests/internal/net/www/protocol/https/HttpsURLConnectionTest.java
@@ -610,6 +610,7 @@
                 System.out.println("Got expected IOException: " + e.getMessage());
             }
         }
+        proxyAndWebServer.shutdown();
     }
 
     /**
@@ -650,6 +651,7 @@
                 System.out.println("Expected exception was thrown: " + e.getMessage());
             }
         }
+        proxyAndWebServer.shutdown();
     }
 
     public void setUp() throws Exception {