Merge "Stop the created handler threads on the tests" into main

This commit is contained in:
Paul Hu
2023-08-18 02:40:45 +00:00
committed by Gerrit Code Review
3 changed files with 25 additions and 6 deletions

View File

@@ -236,8 +236,8 @@ public class NsdServiceTest {
@After @After
public void tearDown() throws Exception { public void tearDown() throws Exception {
if (mThread != null) { if (mThread != null) {
mThread.quit(); mThread.quitSafely();
mThread = null; mThread.join();
} }
} }

View File

@@ -100,6 +100,7 @@ import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRunner; import com.android.testutils.DevSdkIgnoreRunner;
import com.android.testutils.HandlerUtils; import com.android.testutils.HandlerUtils;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -214,6 +215,14 @@ public class PermissionMonitorTest {
onUserAdded(MOCK_USER1); onUserAdded(MOCK_USER1);
} }
@After
public void tearDown() throws Exception {
if (mHandlerThread != null) {
mHandlerThread.quitSafely();
mHandlerThread.join();
}
}
private boolean hasRestrictedNetworkPermission(String partition, int targetSdkVersion, private boolean hasRestrictedNetworkPermission(String partition, int targetSdkVersion,
String packageName, int uid, String... permissions) { String packageName, int uid, String... permissions) {
final PackageInfo packageInfo = final PackageInfo packageInfo =

View File

@@ -78,6 +78,7 @@ import com.android.testutils.DevSdkIgnoreRule;
import com.android.testutils.DevSdkIgnoreRunner; import com.android.testutils.DevSdkIgnoreRunner;
import com.android.testutils.HandlerUtils; import com.android.testutils.HandlerUtils;
import org.junit.After;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
@@ -119,6 +120,7 @@ public class MdnsSocketProviderTest {
@Mock private NetworkInterfaceWrapper mLocalOnlyIfaceWrapper; @Mock private NetworkInterfaceWrapper mLocalOnlyIfaceWrapper;
@Mock private NetworkInterfaceWrapper mTetheredIfaceWrapper; @Mock private NetworkInterfaceWrapper mTetheredIfaceWrapper;
@Mock private SocketRequestMonitor mSocketRequestMonitor; @Mock private SocketRequestMonitor mSocketRequestMonitor;
private HandlerThread mHandlerThread;
private Handler mHandler; private Handler mHandler;
private MdnsSocketProvider mSocketProvider; private MdnsSocketProvider mSocketProvider;
private NetworkCallback mNetworkCallback; private NetworkCallback mNetworkCallback;
@@ -157,9 +159,9 @@ public class MdnsSocketProviderTest {
eq(TETHERED_IFACE_NAME), any()); eq(TETHERED_IFACE_NAME), any());
doReturn(789).when(mDeps).getNetworkInterfaceIndexByName( doReturn(789).when(mDeps).getNetworkInterfaceIndexByName(
eq(WIFI_P2P_IFACE_NAME), any()); eq(WIFI_P2P_IFACE_NAME), any());
final HandlerThread thread = new HandlerThread("MdnsSocketProviderTest"); mHandlerThread = new HandlerThread("MdnsSocketProviderTest");
thread.start(); mHandlerThread.start();
mHandler = new Handler(thread.getLooper()); mHandler = new Handler(mHandlerThread.getLooper());
doReturn(mTestSocketNetLinkMonitor).when(mDeps).createSocketNetlinkMonitor(any(), any(), doReturn(mTestSocketNetLinkMonitor).when(mDeps).createSocketNetlinkMonitor(any(), any(),
any()); any());
@@ -170,10 +172,18 @@ public class MdnsSocketProviderTest {
return mTestSocketNetLinkMonitor; return mTestSocketNetLinkMonitor;
}).when(mDeps).createSocketNetlinkMonitor(any(), any(), }).when(mDeps).createSocketNetlinkMonitor(any(), any(),
any()); any());
mSocketProvider = new MdnsSocketProvider(mContext, thread.getLooper(), mDeps, mLog, mSocketProvider = new MdnsSocketProvider(mContext, mHandlerThread.getLooper(), mDeps, mLog,
mSocketRequestMonitor); mSocketRequestMonitor);
} }
@After
public void tearDown() throws Exception {
if (mHandlerThread != null) {
mHandlerThread.quitSafely();
mHandlerThread.join();
}
}
private void runOnHandler(Runnable r) { private void runOnHandler(Runnable r) {
mHandler.post(r); mHandler.post(r);
HandlerUtils.waitForIdle(mHandler, DEFAULT_TIMEOUT); HandlerUtils.waitForIdle(mHandler, DEFAULT_TIMEOUT);