[jscover] 13/69: Use shutdown hook in acceptance tests allowing them to run more quickly in one JVM

Sylvestre Ledru sylvestre at moszumanska.debian.org
Fri Aug 22 05:54:02 UTC 2014


This is an automated email from the git hooks/post-receive script.

sylvestre pushed a commit to branch master
in repository jscover.

commit fcf03c5aef85b0244e7ac3c5276387a7cfc9a177
Author: tntim96 <tntim96 at gmail.com>
Date:   Sat Jun 7 18:54:20 2014 +1000

    Use shutdown hook in acceptance tests allowing them to run more quickly in one JVM
---
 build.xml                                          |  2 +-
 src/main/java/jscover/server/WebDaemon.java        |  1 +
 ...ServerUnloadedJSProxyOnlyInstrumentRegTest.java | 28 +++++++++++--------
 .../server/HtmlServerUnloadedJSProxyTest.java      | 32 ++++++++++++++--------
 .../HtmlServerUnloadedJSProxyUriToFileTest.java    | 26 ++++++++++--------
 .../jscover/server/HtmlServerUnloadedJSTest.java   | 11 ++++++--
 .../java/jscover/server/HtmlUnitJSTest.java        |  9 +++++-
 .../jscover/server/HtmlUnitLocalStorageTest.java   |  9 +++++-
 .../java/jscover/server/HtmlUnitMergeTest.java     | 11 ++++++--
 .../java/jscover/server/HtmlUnitProxyTest.java     | 29 ++++++++++++--------
 .../HtmlUnitServerBranchAndFunctionTest.java       | 28 +++++++++++++++++++
 .../java/jscover/server/HtmlUnitServerTest.java    |  9 +++++-
 .../server/InstrumentingRequestHandlerDriver.java  |  1 +
 .../server/InstrumentingRequestHandlerTest.java    |  2 +-
 14 files changed, 143 insertions(+), 55 deletions(-)

diff --git a/build.xml b/build.xml
index 40754ae..d53f6fe 100644
--- a/build.xml
+++ b/build.xml
@@ -244,7 +244,7 @@
 
     <target name="run-acceptance-tests" depends="compile-acceptance-tests">
         <property name="tests" value="*Test" />
-        <junit forkmode="perTest" haltonfailure="no" haltonerror="no" failureProperty="test.failure" errorproperty="test.failure">
+        <junit haltonfailure="no" haltonerror="no" failureProperty="test.failure" errorproperty="test.failure">
             <jvmarg value="-ea"/>
             <classpath>
                 <path refid="classpath-cobertura" />
diff --git a/src/main/java/jscover/server/WebDaemon.java b/src/main/java/jscover/server/WebDaemon.java
index a7d3a51..1667eb9 100644
--- a/src/main/java/jscover/server/WebDaemon.java
+++ b/src/main/java/jscover/server/WebDaemon.java
@@ -364,6 +364,7 @@ public class WebDaemon {
         loggerUtils.configureLogger(configuration.getLogLevel(), configuration.getReportDir());
         logger.log(INFO, "Starting JSCover {0} HTTP Server, port {1,number,#}", new Object[]{configuration.getVersion(), configuration.getPort()});
         serverSocket = new ServerSocket(configuration.getPort());
+        InstrumentingRequestHandler.uris.clear();
         while (running) {
             Socket socket = serverSocket.accept();
             (new InstrumentingRequestHandler(socket, configuration)).start();
diff --git a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyOnlyInstrumentRegTest.java b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyOnlyInstrumentRegTest.java
index 8fc5578..476d739 100644
--- a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyOnlyInstrumentRegTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyOnlyInstrumentRegTest.java
@@ -356,6 +356,7 @@ import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import jscover.Main;
 import jscover.util.IoUtils;
 
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -368,7 +369,9 @@ import java.util.ArrayList;
 //Provided by https://github.com/devangnegandhi 6 Sept 2013
 public class HtmlServerUnloadedJSProxyOnlyInstrumentRegTest {
     private static Thread webServer;
-    private static Thread server;
+    private static Thread proxyServer;
+    private static Main main = new Main();
+    private static ServerSocket serverSocket;
     private static int proxyPort = 3129;
 
     protected WebClient webClient = new WebClient();
@@ -390,33 +393,30 @@ public class HtmlServerUnloadedJSProxyOnlyInstrumentRegTest {
 
     @Before
     public void setUp() throws IOException {
-        if (server == null) {
-            server = new Thread(new Runnable() {
+        if (proxyServer == null) {
+            proxyServer = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
                 }
             });
-            server.start();
+            proxyServer.start();
         }
         if (webServer == null) {
             webServer = new Thread(new Runnable() {
                 public void run() {
-                    ServerSocket server = null;
                     try {
-                        server = new ServerSocket(9001);
+                        serverSocket = new ServerSocket(9001);
                         File wwwRoot = new File("src/test-integration/resources/jsSearch");
                         while (true) {
-                            Socket socket = server.accept();
+                            Socket socket = serverSocket.accept();
                             (new HttpServer(socket, wwwRoot, "testVersion")).start();
                         }
                     } catch (IOException e) {
-                        throw new RuntimeException(e);
-                    } finally {
-                        ioUtils.closeQuietly(server);
+                        //throw new RuntimeException(e);
                     }
                 }
             });
@@ -428,6 +428,12 @@ public class HtmlServerUnloadedJSProxyOnlyInstrumentRegTest {
         webClient.getOptions().setTimeout(1000);
     }
 
+    @AfterClass
+    public static void tearDown() {
+        main.stop();
+        IoUtils.getInstance().closeQuietly(serverSocket);
+    }
+
     @Test
     public void shouldIncludeUnloadJSInSavedReport() throws Exception {
         File jsonFile = new File(getReportDir() + "/jscoverage.json");
diff --git a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyTest.java b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyTest.java
index 44d19f8..5613f33 100644
--- a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyTest.java
@@ -344,6 +344,8 @@ package jscover.server;
 
 import com.gargoylesoftware.htmlunit.ProxyConfig;
 import jscover.Main;
+import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 
 import java.io.File;
@@ -353,7 +355,9 @@ import java.net.Socket;
 
 public class HtmlServerUnloadedJSProxyTest extends HtmlServerUnloadedJSTest {
     private static Thread webServer;
-    private static Thread server;
+    private static Thread proxyServer;
+    private static Main main = new Main();
+    private static ServerSocket serverSocket;
     private static int proxyPort = 3129;
 
     private String[] args = new String[]{
@@ -368,38 +372,35 @@ public class HtmlServerUnloadedJSProxyTest extends HtmlServerUnloadedJSTest {
 
     @Override
     protected String getReportDir() {
-        return "target/proxy-report";
+        return "target/proxy-unloaded-report";
     }
 
     @Before
     public void setUp() throws IOException {
-        if (server == null) {
-            server = new Thread(new Runnable() {
+        if (proxyServer == null) {
+            proxyServer = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
                 }
             });
-            server.start();
+            proxyServer.start();
         }
         if (webServer == null) {
             webServer = new Thread(new Runnable() {
                 public void run() {
-                    ServerSocket server = null;
                     try {
-                        server = new ServerSocket(9001);
+                        serverSocket = new ServerSocket(9001);
                         File wwwRoot = new File("src/test-integration/resources/jsSearch");
                         while (true) {
-                            Socket socket = server.accept();
+                            Socket socket = serverSocket.accept();
                             (new HttpServer(socket, wwwRoot, "testVersion")).start();
                         }
                     } catch (IOException e) {
-                        throw new RuntimeException(e);
-                    } finally {
-                        ioUtils.closeQuietly(server);
+                        //throw new RuntimeException(e);
                     }
                 }
             });
@@ -410,4 +411,11 @@ public class HtmlServerUnloadedJSProxyTest extends HtmlServerUnloadedJSTest {
         webClient.getOptions().setProxyConfig(proxyConfig);
         webClient.getOptions().setTimeout(1000);
     }
+
+    @AfterClass
+    public static void tearDown() {
+        main.stop();
+        IoUtils.getInstance().closeQuietly(serverSocket);
+    }
+
 }
diff --git a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyUriToFileTest.java b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyUriToFileTest.java
index affa486..8128853 100644
--- a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyUriToFileTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSProxyUriToFileTest.java
@@ -344,6 +344,8 @@ package jscover.server;
 
 import com.gargoylesoftware.htmlunit.ProxyConfig;
 import jscover.Main;
+import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 
 import java.io.File;
@@ -354,6 +356,8 @@ import java.net.Socket;
 public class HtmlServerUnloadedJSProxyUriToFileTest extends HtmlServerUnloadedJSTest {
     private static Thread webServer;
     private static Thread server;
+    private static Main main = new Main();
+    private static ServerSocket serverSocket;
     private static int proxyPort = 3129;
 
     private String[] args = new String[]{
@@ -389,7 +393,7 @@ public class HtmlServerUnloadedJSProxyUriToFileTest extends HtmlServerUnloadedJS
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -400,18 +404,15 @@ public class HtmlServerUnloadedJSProxyUriToFileTest extends HtmlServerUnloadedJS
         if (webServer == null) {
             webServer = new Thread(new Runnable() {
                 public void run() {
-                    ServerSocket server = null;
                     try {
-                        server = new ServerSocket(9001);
+                        serverSocket = new ServerSocket(9001);
                         File wwwRoot = new File("src/test-integration/resources/jsSearch");
                         while (true) {
-                            Socket socket = server.accept();
+                            Socket socket = serverSocket.accept();
                             (new WeirdHttpServer(socket, wwwRoot, "testVersion")).start();
                         }
                     } catch (IOException e) {
-                        throw new RuntimeException(e);
-                    } finally {
-                        ioUtils.closeQuietly(server);
+                        //throw new RuntimeException(e);
                     }
                 }
             });
@@ -421,10 +422,11 @@ public class HtmlServerUnloadedJSProxyUriToFileTest extends HtmlServerUnloadedJS
         proxyConfig.addHostsToProxyBypass("127.0.0.1");
         webClient.getOptions().setProxyConfig(proxyConfig);
         webClient.getOptions().setTimeout(1000);
-//        try {
-//            Thread.sleep(1000*60);
-//        } catch (InterruptedException e) {
-//            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
-//        }
+    }
+
+    @AfterClass
+    public static void tearDown() {
+        main.stop();
+        IoUtils.getInstance().closeQuietly(serverSocket);
     }
 }
diff --git a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSTest.java b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSTest.java
index d103e58..f11e880 100644
--- a/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlServerUnloadedJSTest.java
@@ -347,6 +347,7 @@ import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import jscover.Main;
 import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -361,6 +362,7 @@ import static org.junit.Assert.assertEquals;
 
 public class HtmlServerUnloadedJSTest {
     private static Thread server;
+    private static Main main = new Main();
 
     protected WebClient webClient = new WebClient();
     protected IoUtils ioUtils = IoUtils.getInstance();
@@ -374,7 +376,7 @@ public class HtmlServerUnloadedJSTest {
     };
 
     protected String getReportDir() {
-        return "target/ws-report";
+        return "target/ws-unloaded-report";
     }
 
     @Before
@@ -383,7 +385,7 @@ public class HtmlServerUnloadedJSTest {
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -394,6 +396,11 @@ public class HtmlServerUnloadedJSTest {
         webClient.getOptions().setTimeout(1000);
     }
 
+    @AfterClass
+    public static void tearDown() throws InterruptedException {
+        main.stop();
+    }
+
     protected String getIndex() {
         return "index.html";
     }
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitJSTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitJSTest.java
index 4458a8d..23ba722 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitJSTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitJSTest.java
@@ -347,6 +347,7 @@ import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlSpan;
 import jscover.Main;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -359,6 +360,7 @@ import static org.junit.Assert.assertEquals;
 
 public class HtmlUnitJSTest {
     private static Thread server;
+    private static Main main = new Main();
 
     protected WebClient webClient = new WebClient();
     private String[] args = new String[]{
@@ -378,7 +380,7 @@ public class HtmlUnitJSTest {
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -388,6 +390,11 @@ public class HtmlUnitJSTest {
         }
     }
 
+    @AfterClass
+    public static void tearDown() throws InterruptedException {
+        main.stop();
+    }
+
     @Test
     public void shouldTestJavaScript() throws Exception {
         HtmlPage page = webClient.getPage("http://localhost:8081/jscoverage.html?src/test/javascript/spec/suite.html");
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitLocalStorageTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitLocalStorageTest.java
index e6f5523..01ddb25 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitLocalStorageTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitLocalStorageTest.java
@@ -347,6 +347,7 @@ import com.gargoylesoftware.htmlunit.WebClient;
 import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import jscover.Main;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -357,6 +358,7 @@ import static org.junit.Assert.assertEquals;
 
 public class HtmlUnitLocalStorageTest {
     private static Thread server;
+    private static Main main = new Main();
 
     protected WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);
     private String[] args = new String[]{
@@ -381,7 +383,7 @@ public class HtmlUnitLocalStorageTest {
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(getArgs());
+                        main.runMain(getArgs());
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -391,6 +393,11 @@ public class HtmlUnitLocalStorageTest {
         }
     }
 
+    @AfterClass
+    public static void tearDown() {
+        main.stop();
+    }
+
     protected String[] getArgs() {
         return args;
     }
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitMergeTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitMergeTest.java
index 4e6b995..7112e5b 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitMergeTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitMergeTest.java
@@ -350,6 +350,7 @@ import com.gargoylesoftware.htmlunit.html.HtmlInput;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import jscover.Main;
 import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -364,9 +365,10 @@ import static org.junit.Assert.assertEquals;
 
 public class HtmlUnitMergeTest {
     private static Thread server;
+    private static Main main = new Main();
 
     private IoUtils ioUtils = IoUtils.getInstance();
-    private String reportDir = "target/ws-report";
+    private String reportDir = "target/ws-merge-report";
     private String[] args = new String[]{
             "-ws",
             "--document-root=src/test-integration/resources/jsSearch",
@@ -382,7 +384,7 @@ public class HtmlUnitMergeTest {
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -392,6 +394,11 @@ public class HtmlUnitMergeTest {
         }
     }
 
+    @AfterClass
+    public static void tearDown() throws InterruptedException {
+        main.stop();
+    }
+
     @Test
     public void shouldMergeUnloadedButtonSavedAndJSSavedReports() throws Exception {
         File jsonFile = new File(reportDir+"/jscoverage.json");
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitProxyTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitProxyTest.java
index fc480b9..c82057b 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitProxyTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitProxyTest.java
@@ -344,6 +344,8 @@ Public License instead of this License.
 
 import com.gargoylesoftware.htmlunit.ProxyConfig;
 import jscover.Main;
+import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 
 import java.io.File;
@@ -353,7 +355,9 @@ import java.net.Socket;
 
 public class HtmlUnitProxyTest extends HtmlUnitServerTest {
     private static Thread webServer;
-    private static Thread server;
+    private static Thread proxyServer;
+    private static Main main = new Main();
+    private static ServerSocket serverSocket;
     private static int proxyPort = 3129;
 
     private String[] args = new String[]{
@@ -374,33 +378,30 @@ public class HtmlUnitProxyTest extends HtmlUnitServerTest {
 
     @Before
     public void setUp() throws IOException {
-        if (server == null) {
-            server = new Thread(new Runnable() {
+        if (proxyServer == null) {
+            proxyServer = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(args);
+                        main.runMain(args);
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
                 }
             });
-            server.start();
+            proxyServer.start();
         }
         if (webServer == null) {
             webServer = new Thread(new Runnable() {
                 public void run() {
-                    ServerSocket server = null;
                     try {
-                        server = new ServerSocket(9001);
+                        serverSocket = new ServerSocket(9001);
                         File wwwRoot = new File("src/test-acceptance/resources");
                         while (true) {
-                            Socket socket = server.accept();
+                            Socket socket = serverSocket.accept();
                             (new HttpServer(socket, wwwRoot, "testVersion")).start();
                         }
                     } catch (IOException e) {
-                        throw new RuntimeException(e);
-                    } finally {
-                        ioUtils.closeQuietly(server);
+                        //throw new RuntimeException(e);
                     }
                 }
             });
@@ -412,6 +413,12 @@ public class HtmlUnitProxyTest extends HtmlUnitServerTest {
         webClient.getOptions().setTimeout(1000);
     }
 
+    @AfterClass
+    public static void tearDown() throws Exception {
+        main.stop();
+        IoUtils.getInstance().closeQuietly(serverSocket);
+    }
+
     @Override
     protected String getTestUrl() {
         return "http://localhost:9001/"+super.getTestUrl();
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitServerBranchAndFunctionTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitServerBranchAndFunctionTest.java
index 2c5d82a..fb2a839 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitServerBranchAndFunctionTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitServerBranchAndFunctionTest.java
@@ -348,6 +348,9 @@ import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlTable;
 import com.gargoylesoftware.htmlunit.html.HtmlTableCell;
+import jscover.Main;
+import org.junit.AfterClass;
+import org.junit.Before;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -357,6 +360,9 @@ import static org.hamcrest.Matchers.containsString;
 import static org.hamcrest.Matchers.equalTo;
 
 public class HtmlUnitServerBranchAndFunctionTest extends HtmlUnitServerTest {
+    private static Thread server;
+    private static Main main = new Main();
+
     protected String[] args = new String[]{
             "-ws",
             "--document-root=src/test-acceptance/resources",
@@ -365,6 +371,28 @@ public class HtmlUnitServerBranchAndFunctionTest extends HtmlUnitServerTest {
             "--report-dir=" + getReportDir()
     };
 
+    @Before
+    public void setUp() throws IOException {
+        if (server == null) {
+            server = new Thread(new Runnable() {
+                public void run() {
+                    try {
+                        main.runMain(getArgs());
+                    } catch (IOException e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            });
+            server.start();
+        }
+        webClient.getOptions().setTimeout(1000);
+    }
+
+    @AfterClass
+    public static void tearDown() throws InterruptedException {
+        main.stop();
+    }
+
     @Override
     protected String[] getArgs() {
         return args;
diff --git a/src/test-acceptance/java/jscover/server/HtmlUnitServerTest.java b/src/test-acceptance/java/jscover/server/HtmlUnitServerTest.java
index 6609d0e..a0e3d72 100644
--- a/src/test-acceptance/java/jscover/server/HtmlUnitServerTest.java
+++ b/src/test-acceptance/java/jscover/server/HtmlUnitServerTest.java
@@ -351,6 +351,7 @@ import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlTable;
 import jscover.Main;
 import jscover.util.IoUtils;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -364,6 +365,7 @@ import static org.junit.Assert.assertEquals;
 
 public class HtmlUnitServerTest {
     private static Thread server;
+    private static Main main = new Main();
 
     protected WebClient webClient = new WebClient();
     protected IoUtils ioUtils = IoUtils.getInstance();
@@ -387,7 +389,7 @@ public class HtmlUnitServerTest {
             server = new Thread(new Runnable() {
                 public void run() {
                     try {
-                        Main.main(getArgs());
+                        main.runMain(getArgs());
                     } catch (IOException e) {
                         throw new RuntimeException(e);
                     }
@@ -398,6 +400,11 @@ public class HtmlUnitServerTest {
         webClient.getOptions().setTimeout(1000);
     }
 
+    @AfterClass
+    public static void tearDown() throws Exception {
+        main.stop();
+    }
+
     protected String[] getArgs() {
         return args;
     }
diff --git a/src/test/java/jscover/server/InstrumentingRequestHandlerDriver.java b/src/test/java/jscover/server/InstrumentingRequestHandlerDriver.java
index b21f8fb..8f29983 100644
--- a/src/test/java/jscover/server/InstrumentingRequestHandlerDriver.java
+++ b/src/test/java/jscover/server/InstrumentingRequestHandlerDriver.java
@@ -363,6 +363,7 @@ public class InstrumentingRequestHandlerDriver {
         ServerSocket server = null;
         try {
             server = new ServerSocket(configuration.getPort());
+            InstrumentingRequestHandler.uris.clear();
             while (running) {
                 Socket socket = server.accept();
                 (new InstrumentingRequestHandler(socket, configuration)).start();
diff --git a/src/test/java/jscover/server/InstrumentingRequestHandlerTest.java b/src/test/java/jscover/server/InstrumentingRequestHandlerTest.java
index 6790224..8cc4a3c 100644
--- a/src/test/java/jscover/server/InstrumentingRequestHandlerTest.java
+++ b/src/test/java/jscover/server/InstrumentingRequestHandlerTest.java
@@ -390,7 +390,7 @@ public class InstrumentingRequestHandlerTest {
 
     @Before
     public void setUp() throws IOException {
-        InstrumentingRequestHandler.uris = new HashMap<String, String>();
+        InstrumentingRequestHandler.uris.clear();
         webServer = new InstrumentingRequestHandler(null, configuration);
         ReflectionUtils.setField(webServer, "ioService", ioService);
         ReflectionUtils.setField(webServer, "jsonDataSaver", jsonDataSaver);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jscover.git



More information about the pkg-java-commits mailing list