Merge "Integrated CachedAppOptimizerTest with ExtendedMockitoTestCase" into udc-dev

This commit is contained in:
Felipe Leme
2023-02-22 16:19:11 +00:00
committed by Android (Google) Code Review

View File

@@ -17,9 +17,12 @@
package com.android.server.am;
import static android.app.ActivityManager.PROCESS_STATE_BOUND_FOREGROUND_SERVICE;
import static com.android.server.am.ActivityManagerService.Injector;
import static com.android.server.am.CachedAppOptimizer.compactActionIntToAction;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -34,27 +37,30 @@ import android.os.Process;
import android.platform.test.annotations.Presubmit;
import android.provider.DeviceConfig;
import android.text.TextUtils;
import androidx.test.platform.app.InstrumentationRegistry;
import com.android.dx.mockito.inline.extended.StaticMockitoSessionBuilder;
import com.android.modules.utils.testing.TestableDeviceConfig;
import com.android.server.ExtendedMockitoTestCase;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
import com.android.server.appop.AppOpsService;
import com.android.server.wm.ActivityTaskManagerService;
import org.junit.After;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.mockito.Mock;
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Assume;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
/**
* Tests for {@link CachedAppOptimizer}.
@@ -63,10 +69,7 @@ import org.mockito.junit.MockitoJUnitRunner;
* atest FrameworksMockingServicesTests:CachedAppOptimizerTest
*/
@Presubmit
@RunWith(MockitoJUnitRunner.class)
@Ignore("TODO(b/226641572): this test is broken and it cannot use ExtendedMockitoTestCase as it "
+ "uses TestableDeviceConfigRule, which creates its own mockito session")
public final class CachedAppOptimizerTest {
public final class CachedAppOptimizerTest extends ExtendedMockitoTestCase {
private ServiceThread mThread;
@@ -84,16 +87,21 @@ public final class CachedAppOptimizerTest {
@Mock
private PackageManagerInternal mPackageManagerInt;
@Rule
public final TestableDeviceConfig.TestableDeviceConfigRule
mDeviceConfigRule = new TestableDeviceConfig.TestableDeviceConfigRule();
private final TestableDeviceConfig mDeviceConfig = new TestableDeviceConfig();
@Rule
public final ApplicationExitInfoTest.ServiceThreadRule
mServiceThreadRule = new ApplicationExitInfoTest.ServiceThreadRule();
@Override
protected void initializeSession(StaticMockitoSessionBuilder builder) {
mDeviceConfig.setUpMockedClasses(builder);
}
@Before
public void setUp() {
System.loadLibrary("mockingservicestestjni");
mDeviceConfig.setUpMockBehaviors();
mHandlerThread = new HandlerThread("");
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper());
@@ -124,6 +132,7 @@ public final class CachedAppOptimizerTest {
mHandlerThread.quit();
mThread.quit();
mCountDown = null;
mDeviceConfig.tearDown();
}
private ProcessRecord makeProcessRecord(int pid, int uid, int packageUid, String processName,