diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-05-07 07:25:30 +0000 |
---|---|---|
committer | Remi NGUYEN VAN <reminv@google.com> | 2020-05-08 00:45:28 +0000 |
commit | cd8b06336a80103ef3c26640f4c74bd065a64b2a (patch) | |
tree | ce8bf9fd7e815e4f5a6baa76ddcef6da777baf8f | |
parent | 6421197f47656092ecf9e7a2cffb9201306fcd08 (diff) |
Finish mocking in finally clause
Failure of testIpClientServiceAvailableAfterPolling could cause tests in
the same process to fail because the mockito session is not finalized.
Use try / finally to make sure finishMocking is called.
Test: atest ModuleNetworkStackClientTest
Bug: 139314310
Original-Change: https://android-review.googlesource.com/1299389
Merged-In: I95cc24e789c5af5f655c875314ed97f50121166c
Change-Id: I95cc24e789c5af5f655c875314ed97f50121166c
-rw-r--r-- | tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt b/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt index 31b4ffd..d8864e6 100644 --- a/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt +++ b/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt @@ -95,15 +95,17 @@ class ModuleNetworkStackClientTest { // Force NetworkStack.getService() to return null: this cannot be done with // setServiceForTest, as passing null just restores default behavior. val session = mockitoSession().spyStatic(NetworkStack::class.java).startMocking() - doReturn(null).`when` { NetworkStack.getService() } - ModuleNetworkStackClient.getInstance(mContext).makeIpClient(TEST_IFNAME, mIpClientCb) - - Thread.sleep(TEST_TIMEOUT_MS) - verify(mConnector, never()).makeIpClient(any(), any()) - NetworkStack.setServiceForTest(mConnectorBinder) + try { + doReturn(null).`when` { NetworkStack.getService() } + ModuleNetworkStackClient.getInstance(mContext).makeIpClient(TEST_IFNAME, mIpClientCb) - // Restore behavior of NetworkStack to return what was set in setServiceForTest - session.finishMocking() + Thread.sleep(TEST_TIMEOUT_MS) + verify(mConnector, never()).makeIpClient(any(), any()) + NetworkStack.setServiceForTest(mConnectorBinder) + } finally { + // Restore behavior of NetworkStack to return what was set in setServiceForTest + session.finishMocking() + } // Use a longer timeout as polling can cause larger delays verify(mConnector, timeout(TEST_TIMEOUT_MS * 4)).makeIpClient(TEST_IFNAME, mIpClientCb) |