From 175cbe76572e2bdcbde797c5d4496cdeb239b457 Mon Sep 17 00:00:00 2001 From: Maxim Nesen Date: Tue, 19 Jun 2018 12:54:00 +0200 Subject: [PATCH] test improvements Signed-off-by: Maxim Nesen --- .travis.yml | 4 ++-- media/sse/pom.xml | 12 ++++++++++ .../jersey/media/sse/ClientCloseTest.java | 6 +++-- pom.xml | 23 +++---------------- tests/e2e-client/pom.xml | 1 - tests/e2e-entity/pom.xml | 4 +++- tests/e2e-server/pom.xml | 1 - tests/e2e-testng/pom.xml | 1 - tests/e2e/pom.xml | 4 +++- .../ResponseWriterOutputStreamTest.java | 18 ++++++++------- travis.sh | 2 +- 11 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7e51c618070..21a1b0297bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,8 +13,8 @@ cache: - .autoconf env: matrix: - - TEST_SET="-Ptravis_e2e_skip" - - TEST_SET="-Ptravis_e2e" + - TEST_SET="-Ptravis_main" + - TEST_SET="-fn -Dtest=BroadcasterTest,ClientCloseTest,ResponseWriterOutputStreamTest -DfailIfNoTests=false" install: true diff --git a/media/sse/pom.xml b/media/sse/pom.xml index be75d2665cb..db0ae039a86 100644 --- a/media/sse/pom.xml +++ b/media/sse/pom.xml @@ -75,6 +75,18 @@ maven-bundle-plugin true + + org.apache.maven.plugins + maven-surefire-plugin + + 1 + false + false + + ${exclude.sse.tests} + + + diff --git a/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java b/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java index 7dc79263353..7fb22d210ac 100644 --- a/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java +++ b/media/sse/src/test/java/org/glassfish/jersey/media/sse/ClientCloseTest.java @@ -43,6 +43,8 @@ */ public class ClientCloseTest extends JerseyTest { + private static final int LATCH_WAIT_TIMEOUT = 16; + /** * The test test that SSE connection is really closed when EventSource.close() is called. *

@@ -66,7 +68,7 @@ public void onEvent(final InboundEvent inboundEvent) { // Server sends 3 events we are interested in. IntStream.range(0, 3).forEach((i) -> assertEquals("OK", target("sse/send").request().get().readEntity(String.class))); - assertTrue(eventLatch.await(5, TimeUnit.SECONDS)); + assertTrue(eventLatch.await(LATCH_WAIT_TIMEOUT, TimeUnit.SECONDS)); // After receiving the 3 events, we try to close. eventSource.close(); @@ -74,7 +76,7 @@ public void onEvent(final InboundEvent inboundEvent) { // Unfortunately the HTTPURLConnection is blocked in read() method, so it will close only after receiving the next event. assertEquals("OK", target("sse/send").request().get().readEntity(String.class)); // Wait for the event that will unblock the HTTPURLConnection and result in sending FIN. - assertTrue(eventLatch2.await(5, TimeUnit.SECONDS)); + assertTrue(eventLatch2.await(LATCH_WAIT_TIMEOUT, TimeUnit.SECONDS)); // Now it is interesting. Client has sent FIN, but Grizzly does not listen for client input (selector READ key is // disabled), while streaming the response. For some reason we need to send 2 more events for Grizzly to notice // that the client is gone. diff --git a/pom.xml b/pom.xml index f438c654d2d..a2b187a8e0b 100644 --- a/pom.xml +++ b/pom.xml @@ -764,7 +764,6 @@ -Dskip.tests=true true - true @@ -1183,25 +1182,9 @@ the whole build is run as clean install but excludes several e2e tests because of the not grepped output --> - travis_e2e_skip + travis_main - true - - - - - travis_e2e - - false - true + **/BroadcasterTest*,**/ClientCloseTest*,**/ResponseWriterOutputStreamTest* @@ -1995,6 +1978,6 @@ 2.11.0 1.6 1.0.1 - false + none diff --git a/tests/e2e-client/pom.xml b/tests/e2e-client/pom.xml index 741446508f2..72d7b182a60 100644 --- a/tests/e2e-client/pom.xml +++ b/tests/e2e-client/pom.xml @@ -41,7 +41,6 @@ 1 false false - ${skip.e2e} diff --git a/tests/e2e-entity/pom.xml b/tests/e2e-entity/pom.xml index 335d5f53c92..f83b7ffa140 100644 --- a/tests/e2e-entity/pom.xml +++ b/tests/e2e-entity/pom.xml @@ -41,7 +41,9 @@ 1 false false - ${skip.e2e} + + ${exclude.sse.tests} + diff --git a/tests/e2e-server/pom.xml b/tests/e2e-server/pom.xml index 00fe51cf709..6e7ecd9a6fe 100644 --- a/tests/e2e-server/pom.xml +++ b/tests/e2e-server/pom.xml @@ -41,7 +41,6 @@ 1 false false - ${skip.e2e} diff --git a/tests/e2e-testng/pom.xml b/tests/e2e-testng/pom.xml index 70991ba7324..4aa82b54518 100644 --- a/tests/e2e-testng/pom.xml +++ b/tests/e2e-testng/pom.xml @@ -45,7 +45,6 @@ 1 false false - ${skip.e2e} diff --git a/tests/e2e/pom.xml b/tests/e2e/pom.xml index 223c51f9569..1d761622451 100644 --- a/tests/e2e/pom.xml +++ b/tests/e2e/pom.xml @@ -41,7 +41,9 @@ 1 false false - ${skip.e2e} + + ${exclude.sse.tests} + diff --git a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java index 7edcbc49793..845e0747d08 100644 --- a/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java +++ b/tests/e2e/src/test/java/org/glassfish/jersey/tests/e2e/container/ResponseWriterOutputStreamTest.java @@ -43,6 +43,8 @@ */ public class ResponseWriterOutputStreamTest extends JerseyContainerTest { + private static final String CHECK_STRING = "RESOURCE"; + @Path("/") public static class Resource { @@ -53,23 +55,23 @@ public void get(final ContainerRequest context) throws IOException { final ContainerResponse response = new ContainerResponse(context, Response.ok().build()); final OutputStream os = context.getResponseWriter() - .writeResponseStatusAndHeaders("RESOURCE".getBytes().length, response); - os.write("RESOURCE".getBytes()); + .writeResponseStatusAndHeaders(CHECK_STRING.getBytes().length, response); + os.write(CHECK_STRING.getBytes()); os.close(); } @POST @Produces("text/plain") - public void post(final ContainerRequest context) throws IOException { + public synchronized void post(final ContainerRequest context) throws IOException { assertThat(context.getMethod(), is("POST")); final String s = context.readEntity(String.class); - assertEquals("RESOURCE", s); + assertEquals(CHECK_STRING, s); final ContainerResponse response = new ContainerResponse(context, Response.ok().build()); final OutputStream os = context.getResponseWriter() - .writeResponseStatusAndHeaders("RESOURCE".getBytes().length, response); - os.write("RESOURCE".getBytes()); + .writeResponseStatusAndHeaders(s.getBytes().length, response); + os.write(s.getBytes()); os.close(); } } @@ -81,12 +83,12 @@ protected Application configure() { @Test public void testGet() { - assertThat(target().request().get(String.class), is("RESOURCE")); + assertThat(target().request().get(String.class), is(CHECK_STRING)); } @Test public void testPost() { - assertThat(target().request().post(Entity.text("RESOURCE"), String.class), is("RESOURCE")); + assertThat(target().request().post(Entity.text(CHECK_STRING), String.class), is(CHECK_STRING)); } @Test diff --git a/travis.sh b/travis.sh index 66f73198221..0a5de825604 100644 --- a/travis.sh +++ b/travis.sh @@ -25,7 +25,7 @@ trap 'error_handler' ERR bash -c "while true; do tail -5 $BUILD_OUTPUT; sleep $PING_SLEEP; done" & PING_LOOP_PID=$! -mvn -e -U -B clean install $1 >> $BUILD_OUTPUT 2>&1 +mvn -e -U -B clean install $1 $2 $3>> $BUILD_OUTPUT 2>&1 # The build finished without returning an error so dump a tail of the output dump_output