From f68905683f9bf60fad5e72456de419fd036fbe73 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Mon, 23 Aug 2021 06:37:21 +0000 Subject: [PATCH] Add logging on UnfinishedStubbingException The test flakes with UnfinishedStubbingException, but the root cause could not be identified. Add some logging to try to get more information when that happens. Bug: 195626111 Test: atest ConnectivityServiceTest Change-Id: If12c1ea809789148ca9251386e5ee6ca6d74ff74 --- .../com/android/server/ConnectivityServiceTest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java index 814d7993b8..24e7a54240 100644 --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -350,8 +350,11 @@ import org.mockito.AdditionalAnswers; import org.mockito.ArgumentCaptor; import org.mockito.InOrder; import org.mockito.Mock; +import org.mockito.MockingDetails; +import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.Spy; +import org.mockito.exceptions.misusing.UnfinishedStubbingException; import org.mockito.stubbing.Answer; import java.io.FileDescriptor; @@ -1734,7 +1737,15 @@ public class ConnectivityServiceTest { } private void returnRealCallingUid() { - doAnswer((invocationOnMock) -> Binder.getCallingUid()).when(mDeps).getCallingUid(); + try { + doAnswer((invocationOnMock) -> Binder.getCallingUid()).when(mDeps).getCallingUid(); + } catch (UnfinishedStubbingException e) { + final MockingDetails details = Mockito.mockingDetails(mDeps); + Log.e("ConnectivityServiceTest", "UnfinishedStubbingException," + + " Stubbings: " + TextUtils.join(", ", details.getStubbings()) + + " Invocations: " + details.printInvocations(), e); + throw e; + } } private ConnectivityService.Dependencies makeDependencies() {