Merge "Use waitForIdle() to wait for Threaded processing."

This commit is contained in:
Cody Kesting
2020-02-06 15:54:53 +00:00
committed by Gerrit Code Review

View File

@@ -6446,14 +6446,16 @@ public class ConnectivityServiceTest {
public void testRegisterUnregisterConnectivityDiagnosticsCallback() throws Exception { public void testRegisterUnregisterConnectivityDiagnosticsCallback() throws Exception {
final NetworkRequest wifiRequest = final NetworkRequest wifiRequest =
new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build(); new NetworkRequest.Builder().addTransportType(TRANSPORT_WIFI).build();
when(mConnectivityDiagnosticsCallback.asBinder()).thenReturn(mIBinder); when(mConnectivityDiagnosticsCallback.asBinder()).thenReturn(mIBinder);
mService.registerConnectivityDiagnosticsCallback( mService.registerConnectivityDiagnosticsCallback(
mConnectivityDiagnosticsCallback, wifiRequest, mContext.getPackageName()); mConnectivityDiagnosticsCallback, wifiRequest, mContext.getPackageName());
verify(mIBinder, timeout(TIMEOUT_MS)) // Block until all other events are done processing.
.linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt()); HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
verify(mIBinder).linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt());
verify(mConnectivityDiagnosticsCallback).asBinder();
assertTrue( assertTrue(
mService.mConnectivityDiagnosticsCallbacks.containsKey( mService.mConnectivityDiagnosticsCallbacks.containsKey(
mConnectivityDiagnosticsCallback)); mConnectivityDiagnosticsCallback));
@@ -6476,8 +6478,10 @@ public class ConnectivityServiceTest {
mService.registerConnectivityDiagnosticsCallback( mService.registerConnectivityDiagnosticsCallback(
mConnectivityDiagnosticsCallback, wifiRequest, mContext.getPackageName()); mConnectivityDiagnosticsCallback, wifiRequest, mContext.getPackageName());
verify(mIBinder, timeout(TIMEOUT_MS)) // Block until all other events are done processing.
.linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt()); HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
verify(mIBinder).linkToDeath(any(ConnectivityDiagnosticsCallbackInfo.class), anyInt());
verify(mConnectivityDiagnosticsCallback).asBinder(); verify(mConnectivityDiagnosticsCallback).asBinder();
assertTrue( assertTrue(
mService.mConnectivityDiagnosticsCallbacks.containsKey( mService.mConnectivityDiagnosticsCallbacks.containsKey(
@@ -6635,8 +6639,11 @@ public class ConnectivityServiceTest {
public void testConnectivityDiagnosticsCallbackOnConnectivityReport() throws Exception { public void testConnectivityDiagnosticsCallbackOnConnectivityReport() throws Exception {
setUpConnectivityDiagnosticsCallback(); setUpConnectivityDiagnosticsCallback();
// Wait for onConnectivityReport to fire // Block until all other events are done processing.
verify(mConnectivityDiagnosticsCallback, timeout(TIMEOUT_MS)) HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
// Verify onConnectivityReport fired
verify(mConnectivityDiagnosticsCallback)
.onConnectivityReport(any(ConnectivityReport.class)); .onConnectivityReport(any(ConnectivityReport.class));
} }
@@ -6648,9 +6655,11 @@ public class ConnectivityServiceTest {
// cellular network agent // cellular network agent
mCellNetworkAgent.notifyDataStallSuspected(); mCellNetworkAgent.notifyDataStallSuspected();
// Wait for onDataStallSuspected to fire // Block until all other events are done processing.
verify(mConnectivityDiagnosticsCallback, timeout(TIMEOUT_MS)) HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
.onDataStallSuspected(any(DataStallReport.class));
// Verify onDataStallSuspected fired
verify(mConnectivityDiagnosticsCallback).onDataStallSuspected(any(DataStallReport.class));
} }
@Test @Test
@@ -6661,15 +6670,21 @@ public class ConnectivityServiceTest {
final boolean hasConnectivity = true; final boolean hasConnectivity = true;
mService.reportNetworkConnectivity(n, hasConnectivity); mService.reportNetworkConnectivity(n, hasConnectivity);
// Wait for onNetworkConnectivityReported to fire // Block until all other events are done processing.
verify(mConnectivityDiagnosticsCallback, timeout(TIMEOUT_MS)) HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
// Verify onNetworkConnectivityReported fired
verify(mConnectivityDiagnosticsCallback)
.onNetworkConnectivityReported(eq(n), eq(hasConnectivity)); .onNetworkConnectivityReported(eq(n), eq(hasConnectivity));
final boolean noConnectivity = false; final boolean noConnectivity = false;
mService.reportNetworkConnectivity(n, noConnectivity); mService.reportNetworkConnectivity(n, noConnectivity);
// Block until all other events are done processing.
HandlerUtilsKt.waitForIdle(mCsHandlerThread, TIMEOUT_MS);
// Wait for onNetworkConnectivityReported to fire // Wait for onNetworkConnectivityReported to fire
verify(mConnectivityDiagnosticsCallback, timeout(TIMEOUT_MS)) verify(mConnectivityDiagnosticsCallback)
.onNetworkConnectivityReported(eq(n), eq(noConnectivity)); .onNetworkConnectivityReported(eq(n), eq(noConnectivity));
} }
} }