[bluetooth] Try to make tests more stable (#9304)

Signed-off-by: Fabian Wolter <github@fabian-wolter.de>
This commit is contained in:
Fabian Wolter 2020-12-09 15:07:55 +01:00 committed by GitHub
parent 34a9c5482a
commit aba5e2c996
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,6 +35,7 @@ import org.openhab.core.common.NamedThreadFactory;
*/
class RetryFutureTest {
private static final int TIMEOUT_MS = 1000;
private ScheduledExecutorService scheduler;
@BeforeEach
@ -52,17 +53,17 @@ class RetryFutureTest {
}
@Test
void callWithRetryNormal() throws InterruptedException {
void callWithRetryNormal() {
Future<String> retryFuture = RetryFuture.callWithRetry(() -> "test", scheduler);
try {
assertEquals("test", retryFuture.get(100, TimeUnit.MILLISECONDS));
assertEquals("test", retryFuture.get(TIMEOUT_MS, TimeUnit.MILLISECONDS));
} catch (InterruptedException | ExecutionException | TimeoutException e) {
fail(e);
}
}
@Test
void callWithRetry1() throws InterruptedException {
void callWithRetry1() {
AtomicInteger visitCount = new AtomicInteger();
Future<String> retryFuture = RetryFuture.callWithRetry(() -> {
if (visitCount.getAndIncrement() == 0) {
@ -71,14 +72,14 @@ class RetryFutureTest {
return "test";
}, scheduler);
try {
assertEquals("test", retryFuture.get(100, TimeUnit.MILLISECONDS));
assertEquals("test", retryFuture.get(TIMEOUT_MS, TimeUnit.MILLISECONDS));
} catch (InterruptedException | ExecutionException | TimeoutException e) {
fail(e);
}
}
@Test
void composeWithRetryNormal() throws InterruptedException {
void composeWithRetryNormal() {
CompletableFuture<?> composedFuture = new CompletableFuture<>();
Future<?> retryFuture = RetryFuture.composeWithRetry(() -> {
@ -87,7 +88,7 @@ class RetryFutureTest {
}, scheduler);
try {
retryFuture.get(100, TimeUnit.MILLISECONDS);
retryFuture.get(TIMEOUT_MS, TimeUnit.MILLISECONDS);
} catch (InterruptedException | ExecutionException | TimeoutException e) {
fail(e);
}
@ -95,7 +96,7 @@ class RetryFutureTest {
}
@Test
void composeWithRetryThrow() throws InterruptedException {
void composeWithRetryThrow() {
CompletableFuture<?> composedFuture = new CompletableFuture<>();
Future<?> retryFuture = RetryFuture.composeWithRetry(() -> {
@ -104,7 +105,7 @@ class RetryFutureTest {
}, scheduler);
try {
retryFuture.get(100, TimeUnit.MILLISECONDS);
retryFuture.get(TIMEOUT_MS, TimeUnit.MILLISECONDS);
} catch (InterruptedException | TimeoutException e) {
fail(e);
} catch (ExecutionException ex) {
@ -126,7 +127,7 @@ class RetryFutureTest {
}, scheduler);
try {
assertEquals("test", retryFuture.get(100, TimeUnit.MILLISECONDS));
assertEquals("test", retryFuture.get(TIMEOUT_MS, TimeUnit.MILLISECONDS));
} catch (InterruptedException | ExecutionException | TimeoutException e) {
fail(e);
}
@ -135,7 +136,7 @@ class RetryFutureTest {
}
@Test
void composeWithRetry1Cancel() throws InterruptedException {
void composeWithRetry1Cancel() {
CountDownLatch latch = new CountDownLatch(1);
AtomicInteger visitCount = new AtomicInteger();
CompletableFuture<String> composedFuture = new CompletableFuture<>();
@ -148,7 +149,7 @@ class RetryFutureTest {
}, scheduler);
try {
if (!latch.await(100, TimeUnit.MILLISECONDS)) {
if (!latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
fail("Timeout while waiting for latch");
}
Thread.sleep(1);