diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-20 14:05:36 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2017-04-20 14:05:36 +0200 |
commit | 7b42d38191c465aeac4ec06c9ac239473dd3ca22 (patch) | |
tree | e6ea51c1775e14e5b98ca24845eca832c3609b79 /container-search/src/test | |
parent | 4077f420c5fb5f6d2dcbd42bbd6bc2bf6c40094b (diff) |
Don't depend on wallclock time
Diffstat (limited to 'container-search/src/test')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/federation/FederationResultTest.java | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/federation/FederationResultTest.java b/container-search/src/test/java/com/yahoo/search/federation/FederationResultTest.java index ae05ea9968c..1b9b701e508 100644 --- a/container-search/src/test/java/com/yahoo/search/federation/FederationResultTest.java +++ b/container-search/src/test/java/com/yahoo/search/federation/FederationResultTest.java @@ -9,9 +9,11 @@ import com.yahoo.search.result.ErrorMessage; import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.FutureResult; import com.yahoo.search.searchchain.model.federation.FederationOptions; +import com.yahoo.test.ManualClock; import org.junit.Test; import java.time.Clock; +import java.time.Duration; import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; @@ -28,7 +30,7 @@ public class FederationResultTest { private static final FederationSearcher.Target dsp1 = new MockTarget("dsp1", 240); private static final FederationSearcher.Target dsp2 = new MockTarget("dsp2", 200); - private final Clock clock = Clock.systemUTC(); + private final ManualClock clock = new ManualClock(); @Test public void testFederationResult() { @@ -41,7 +43,7 @@ public class FederationResultTest { assertTimeout(ImmutableSet.of("dsp1", "dsp2"), 200, 260, 260); assertTimeout(ImmutableSet.of("organic"), 520, 260, 260); } - + private void assertTimeout(Set<String> expectedTimeoutNames, int ... responseTimes) { FederationResult.Builder builder = new FederationResult.Builder(); builder.add(organic, resultAfter(responseTimes[0])); @@ -92,24 +94,16 @@ public class FederationResultTest { long elapsedTime = clock.millis() - startTime; long leftUntilResponse = responseTime - elapsedTime; if (leftUntilResponse > timeout) { - sleepUntil(timeout); + clock.advance(Duration.ofMillis(timeout)); return Optional.empty(); } else { - sleepUntil(leftUntilResponse); + if (leftUntilResponse > 0) // otherwise we already spent more time than this sources timeout + clock.advance(Duration.ofMillis(leftUntilResponse)); return Optional.of(new Result(query)); } } - private void sleepUntil(long time) { - if (time <= 0) return; - try { - Thread.sleep(time); - } - catch (InterruptedException e) { - } - } - @Override public Query getQuery() { return query; |