Use TestableLooper.RunWithLooper instead of manually setting it up
This may help with intermittent flakiness of looper in
testMultiSimConfigChanged. It's hard to verify this precisely, but at
least this change will do some minor cleanup around TestableLooper.
Bug: 365800992
Test: atest --rerun-until-failure 10 com.android.phone.CarrierConfigLoaderTest
Flag: TEST_ONLY
Change-Id: Ia1ade347d4580d253cac24e6f4c2591ad3c307c4
diff --git a/tests/src/com/android/phone/CarrierConfigLoaderTest.java b/tests/src/com/android/phone/CarrierConfigLoaderTest.java
index b670de5..5190b21 100644
--- a/tests/src/com/android/phone/CarrierConfigLoaderTest.java
+++ b/tests/src/com/android/phone/CarrierConfigLoaderTest.java
@@ -41,7 +41,6 @@
import android.content.res.Resources;
import android.os.Build;
import android.os.Handler;
-import android.os.HandlerThread;
import android.os.PermissionEnforcer;
import android.os.PersistableBundle;
import android.os.UserHandle;
@@ -51,10 +50,10 @@
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.telephony.TelephonyRegistryManager;
+import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import androidx.test.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.android.TelephonyTestBase;
import com.android.internal.telephony.IccCardConstants;
@@ -80,7 +79,8 @@
/**
* Unit Test for CarrierConfigLoader.
*/
-@RunWith(AndroidJUnit4.class)
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper(setAsMainLooper = true)
public class CarrierConfigLoaderTest extends TelephonyTestBase {
@Rule
public TestRule compatChangeRule = new PlatformCompatChangeRule();
@@ -107,7 +107,6 @@
private TelephonyManager mTelephonyManager;
private CarrierConfigLoader mCarrierConfigLoader;
private Handler mHandler;
- private HandlerThread mHandlerThread;
private TestableLooper mTestableLooper;
// The AIDL stub will use PermissionEnforcer to check permission from the caller.
@@ -149,10 +148,7 @@
when(mContext.getSystemService(TelephonyRegistryManager.class)).thenReturn(
mTelephonyRegistryManager);
- mHandlerThread = new HandlerThread("CarrierConfigLoaderTest");
- mHandlerThread.start();
-
- mTestableLooper = new TestableLooper(mHandlerThread.getLooper());
+ mTestableLooper = TestableLooper.get(this);
mCarrierConfigLoader = new CarrierConfigLoader(mContext, mTestableLooper.getLooper(),
mFeatureFlags);
mHandler = mCarrierConfigLoader.getHandler();
@@ -167,8 +163,6 @@
mFakePermissionEnforcer.revoke(android.Manifest.permission.DUMP);
mFakePermissionEnforcer.revoke(android.Manifest.permission.MODIFY_PHONE_STATE);
mFakePermissionEnforcer.revoke(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
- mTestableLooper.destroy();
- mHandlerThread.quit();
super.tearDown();
}