diff options
author | Remi NGUYEN VAN <reminv@google.com> | 2020-05-02 10:36:43 +0000 |
---|---|---|
committer | Remi NGUYEN VAN <reminv@google.com> | 2020-05-02 11:08:05 +0000 |
commit | a47091526a93be34808727b5897c948dfaf5884c (patch) | |
tree | 03099d20ed817e39adbe9657d86f54b30a30a7fe | |
parent | 76e2b1e7b9ac41346698fc65228ce81f8ad804af (diff) |
Fix testIpClientServiceAvailableAfterPolling
The test used NetworkStack.setServiceForTest(null) expecting that null
would be returned in NetworkStack.getService, which is incorrect: using
null just causes getService to use default system behavior, which
returns the actual service.
Bug: 139314310
Test: atest ModuleNetworkStackClientTest --rerun-until-failure 500
Original-Change: https://android-review.googlesource.com/1299379
Merged-In: I2d607d3ab26bcecd20546041ac4be2892a3fb852
Change-Id: I2d607d3ab26bcecd20546041ac4be2892a3fb852
-rw-r--r-- | tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt b/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt index 2d6a095..31b4ffd 100644 --- a/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt +++ b/tests/unit/src/android/net/networkstack/ModuleNetworkStackClientTest.kt @@ -29,6 +29,8 @@ import android.os.Build import android.os.IBinder import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest +import com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn +import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession import com.android.testutils.DevSdkIgnoreRule import org.junit.After import org.junit.Before @@ -37,7 +39,6 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.any import org.mockito.Mock -import org.mockito.Mockito.doReturn import org.mockito.Mockito.never import org.mockito.Mockito.timeout import org.mockito.Mockito.verify @@ -91,11 +92,19 @@ class ModuleNetworkStackClientTest { @Test fun testIpClientServiceAvailableAfterPolling() { + // 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) + + // 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) } |