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 <[email protected]> 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 _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

