From 11507e55ef4414256433561d6996ddbb24270cfb Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Tue, 17 Aug 2021 12:03:44 +1000 Subject: [PATCH] Fix flaky test from #6562 Fix flaky test from #6562 Signed-off-by: Greg Wilkins --- .../org/eclipse/jetty/server/HttpOutputTest.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpOutputTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpOutputTest.java index 9eccd363e4a2..ad1099dbbdeb 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpOutputTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpOutputTest.java @@ -29,7 +29,6 @@ import java.util.Arrays; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import javax.servlet.AsyncContext; import javax.servlet.ServletException; @@ -830,7 +829,7 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques @Test public void testEmptyBuffer() throws Exception { - AtomicBoolean committed = new AtomicBoolean(); + FuturePromise committed = new FuturePromise<>(); AbstractHandler handler = new AbstractHandler() { @Override @@ -839,7 +838,7 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques baseRequest.setHandled(true); response.setStatus(200); ((HttpOutput)response.getOutputStream()).write(ByteBuffer.wrap(new byte[0])); - committed.set(response.isCommitted()); + committed.succeeded(response.isCommitted()); } }; @@ -847,13 +846,13 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques handler.start(); String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n"); assertThat(response, containsString("HTTP/1.1 200 OK")); - assertThat(committed.get(), is(false)); + assertThat(committed.get(10, TimeUnit.SECONDS), is(false)); } @Test public void testEmptyBufferWithZeroContentLength() throws Exception { - CountDownLatch latch = new CountDownLatch(1); + FuturePromise committed = new FuturePromise<>(); AbstractHandler handler = new AbstractHandler() { @Override @@ -864,7 +863,7 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques response.setContentLength(0); ((HttpOutput)response.getOutputStream()).write(ByteBuffer.wrap(new byte[0])); assertThat(response.isCommitted(), is(true)); - latch.countDown(); + committed.succeeded(response.isCommitted()); } }; @@ -873,7 +872,7 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques String response = _connector.getResponse("GET / HTTP/1.0\nHost: localhost:80\n\n"); assertThat(response, containsString("HTTP/1.1 200 OK")); assertThat(response, containsString("Content-Length: 0")); - assertThat(latch.await(3, TimeUnit.SECONDS), is(true)); + assertThat(committed.get(10, TimeUnit.SECONDS), is(true)); } @Test