diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2019-11-29 09:05:24 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-11-29 09:05:24 +0000 |
commit | 6c0ec1fb91e5faa50a4f82d0077d0a43e0e649ec (patch) | |
tree | 2ca84bb2bec5fe6e6169c0ab547fcba7c8830c1d | |
parent | d077658de4737f1e18934289dfc5f571f7d33687 (diff) | |
parent | 1e868b324d7cf1d32f5705b0c6b23771c12b49fe (diff) |
Merge "Make IpClientIntegrationTest talk to the real netd"
-rw-r--r-- | tests/integration/src/android/net/ip/IpClientIntegrationTest.java | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/tests/integration/src/android/net/ip/IpClientIntegrationTest.java b/tests/integration/src/android/net/ip/IpClientIntegrationTest.java index 0ee49c5..2bbaf06 100644 --- a/tests/integration/src/android/net/ip/IpClientIntegrationTest.java +++ b/tests/integration/src/android/net/ip/IpClientIntegrationTest.java @@ -56,6 +56,7 @@ import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.reset; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -103,7 +104,6 @@ import androidx.test.runner.AndroidJUnit4; import com.android.server.NetworkObserverRegistry; import com.android.server.NetworkStackService.NetworkStackServiceManager; import com.android.server.connectivity.ipmemorystore.IpMemoryStoreService; -import com.android.testutils.HandlerUtilsKt; import org.junit.After; import org.junit.Before; @@ -113,6 +113,7 @@ import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.mockito.Spy; import java.io.FileDescriptor; import java.io.FileOutputStream; @@ -142,7 +143,6 @@ public class IpClientIntegrationTest { @Mock private Context mContext; @Mock private ConnectivityManager mCm; - @Mock private INetd mMockNetd; @Mock private Resources mResources; @Mock private IIpClientCallbacks mCb; @Mock private AlarmManager mAlarm; @@ -151,8 +151,9 @@ public class IpClientIntegrationTest { @Mock private NetworkStackIpMemoryStore mIpMemoryStore; @Mock private IpMemoryStoreService mIpMemoryStoreService; + @Spy private INetd mNetd; + private String mIfaceName; - private INetd mNetd; private HandlerThread mPacketReaderThread; private Handler mHandler; private TapPacketReader mPacketReader; @@ -249,7 +250,7 @@ public class IpClientIntegrationTest { @Override public INetd getNetd(Context context) { - return mMockNetd; + return mNetd; } @Override @@ -310,6 +311,10 @@ public class IpClientIntegrationTest { setUpIpClient(); } + private void awaitIpClientShutdown() throws Exception { + verify(mCb, timeout(TEST_TIMEOUT_MS)).onQuit(); + } + @After public void tearDown() throws Exception { if (mPacketReader != null) { @@ -319,6 +324,7 @@ public class IpClientIntegrationTest { mPacketReaderThread.quitSafely(); } mIpc.shutdown(); + awaitIpClientShutdown(); } private void setUpTapInterface() { @@ -350,7 +356,7 @@ public class IpClientIntegrationTest { final Instrumentation inst = InstrumentationRegistry.getInstrumentation(); final IBinder netdIBinder = (IBinder) inst.getContext().getSystemService(Context.NETD_SERVICE); - mNetd = INetd.Stub.asInterface(netdIBinder); + mNetd = spy(INetd.Stub.asInterface(netdIBinder)); when(mContext.getSystemService(eq(Context.NETD_SERVICE))).thenReturn(netdIBinder); assertNotNull(mNetd); @@ -560,12 +566,12 @@ public class IpClientIntegrationTest { if (shouldRemoveTapInterface) removeTapInterface(mPacketReader.createFd()); try { mIpc.shutdown(); - HandlerUtilsKt.waitForIdle(mIpc.getHandler(), TEST_TIMEOUT_MS); + awaitIpClientShutdown(); if (shouldRemoveTapInterface) { - verify(mMockNetd, never()).interfaceSetMtu(mIfaceName, TEST_DEFAULT_MTU); + verify(mNetd, never()).interfaceSetMtu(mIfaceName, TEST_DEFAULT_MTU); } else { // Verify that MTU indeed has been restored or not. - verify(mMockNetd, times(shouldChangeMtu ? 1 : 0)) + verify(mNetd, times(shouldChangeMtu ? 1 : 0)) .interfaceSetMtu(mIfaceName, TEST_DEFAULT_MTU); } verifyAfterIpClientShutdown(); @@ -712,7 +718,7 @@ public class IpClientIntegrationTest { @Test public void testRestoreInitialInterfaceMtu_WithException() throws Exception { - doThrow(new RemoteException("NetdNativeService::interfaceSetMtu")).when(mMockNetd) + doThrow(new RemoteException("NetdNativeService::interfaceSetMtu")).when(mNetd) .interfaceSetMtu(mIfaceName, TEST_DEFAULT_MTU); doRestoreInitialMtuTest(true /* shouldChangeMtu */, false /* shouldRemoveTapInterface */); |