From 54a82760a2837ccf29df283960d2625fe18d752a Mon Sep 17 00:00:00 2001 From: Paul Hu Date: Wed, 12 Feb 2025 06:27:50 +0000 Subject: [PATCH] Fix test flake in MdnsDiscoveryManagerTests The MdnsDiscoveryManagerTests#testDiscoveryExecutor test is flaky because the Future task sometimes fails to complete on the CF target. This performance-dependent issue causes Future#isDone to return a false value. Therefore, remove the isDone check, as Future#get already performs the same check. Bug: 392995312 Test: atest MdnsDiscoveryManagerTests#testDiscoveryExecutor \ --iteration 100 Change-Id: I6a032e80da76eae5ec81bfe7900c0b0e3a3c6efa --- .../server/connectivity/mdns/MdnsDiscoveryManagerTests.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/unit/java/com/android/server/connectivity/mdns/MdnsDiscoveryManagerTests.java b/tests/unit/java/com/android/server/connectivity/mdns/MdnsDiscoveryManagerTests.java index ab2fb99de8..71a3274cd8 100644 --- a/tests/unit/java/com/android/server/connectivity/mdns/MdnsDiscoveryManagerTests.java +++ b/tests/unit/java/com/android/server/connectivity/mdns/MdnsDiscoveryManagerTests.java @@ -442,14 +442,12 @@ public class MdnsDiscoveryManagerTests { // Verify the checkAndRunOnHandlerThread method final CompletableFuture future1 = new CompletableFuture<>(); executor.checkAndRunOnHandlerThread(()-> future1.complete(true)); - assertTrue(future1.isDone()); assertTrue(future1.get(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)); // Verify the execute method final CompletableFuture future2 = new CompletableFuture<>(); executor.execute(()-> future2.complete(true)); testableLooper.processAllMessages(); - assertTrue(future2.isDone()); assertTrue(future2.get(DEFAULT_TIMEOUT, TimeUnit.MILLISECONDS)); // Verify the executeDelayed method @@ -469,7 +467,6 @@ public class MdnsDiscoveryManagerTests { // The function should be executed. testableLooper.moveTimeForward(500L); testableLooper.processAllMessages(); - assertTrue(future3.isDone()); assertTrue(future3.get(500L, TimeUnit.MILLISECONDS)); } finally { testableLooper.destroy();