diff options
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java | 17 | ||||
-rw-r--r-- | jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java | 7 |
2 files changed, 15 insertions, 9 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java b/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java index 2c76383bff4..a6ae5f2b1b9 100644 --- a/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java +++ b/container-search/src/test/java/com/yahoo/search/handler/SearchHandlerTest.java @@ -36,6 +36,7 @@ import java.io.IOException; import java.net.URI; import java.util.concurrent.Executors; +import static com.yahoo.yolean.Exceptions.uncheckInterrupted; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertEquals; @@ -45,6 +46,7 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author bratseth @@ -304,22 +306,19 @@ public class SearchHandlerTest { assertOkResult(driver.sendRequest(request), jsonResult); } - private boolean waitForMetric(String key) { - try { - for (int i = 0; i < 10; i++) { - if (metric.metrics().containsKey(key)) return true; - Thread.sleep(20); - } - } catch (InterruptedException e) { + private void assertMetricPresent(String key) { + for (int i = 0; i < 200; i++) { + if (metric.metrics().containsKey(key)) return; + uncheckInterrupted(() -> Thread.sleep(1)); } - return false; + fail(String.format("Could not find metric with key '%s' in '%s'", key, metric)); } private void assertOkResult(RequestHandlerTestDriver.MockResponseHandler response, String expected) { assertEquals(expected, response.readAll()); assertEquals(200, response.getStatus()); assertEquals(selfHostname, response.getResponse().headers().get(myHostnameHeader).get(0)); - assertTrue(waitForMetric(SearchHandler.RENDER_LATENCY_METRIC)); + assertMetricPresent(SearchHandler.RENDER_LATENCY_METRIC); } @Test diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java b/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java index cb89320e580..bca6e7082c9 100644 --- a/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java +++ b/jdisc_core/src/main/java/com/yahoo/jdisc/test/MockMetric.java @@ -35,6 +35,13 @@ public class MockMetric implements Metric { public Map<String, Map<Map<String, ?>, Double>> metrics() { return metrics; } + @Override + public String toString() { + return "MockMetric{" + + "metrics=" + metrics + + '}'; + } + private static class MapContext implements Context { private static final MapContext empty = new MapContext(Map.of()); |