summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2020-05-02 10:36:43 +0000
committerRemi NGUYEN VAN <reminv@google.com>2020-05-02 11:08:05 +0000
commita47091526a93be34808727b5897c948dfaf5884c (patch)
tree03099d20ed817e39adbe9657d86f54b30a30a7fe
parent76e2b1e7b9ac41346698fc65228ce81f8ad804af (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.kt11
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)
}