Parameterize PowerManagerServiceTest
Bug: 291888211
Test: atest PowerManagerServiceTest
Change-Id: I6eed668c86fbacaf840a99c9555880fe14fc8dc6
diff --git a/services/tests/powerservicetests/Android.bp b/services/tests/powerservicetests/Android.bp
index 9384015..7351fc5f 100644
--- a/services/tests/powerservicetests/Android.bp
+++ b/services/tests/powerservicetests/Android.bp
@@ -17,6 +17,7 @@
"services.core",
"servicestests-utils",
"testables",
+ "TestParameterInjector",
],
libs: [
diff --git a/services/tests/powerservicetests/src/com/android/server/power/PowerManagerServiceTest.java b/services/tests/powerservicetests/src/com/android/server/power/PowerManagerServiceTest.java
index 9bce536..0b1e338 100644
--- a/services/tests/powerservicetests/src/com/android/server/power/PowerManagerServiceTest.java
+++ b/services/tests/powerservicetests/src/com/android/server/power/PowerManagerServiceTest.java
@@ -111,6 +111,9 @@
import com.android.server.power.batterysaver.BatterySavingStats;
import com.android.server.testutils.OffsettableClock;
+import com.google.testing.junit.testparameterinjector.TestParameter;
+import com.google.testing.junit.testparameterinjector.TestParameterInjector;
+
import libcore.junit.util.compat.CoreCompatChangeRule.DisableCompatChanges;
import libcore.junit.util.compat.CoreCompatChangeRule.EnableCompatChanges;
@@ -119,6 +122,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestRule;
+import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
@@ -140,6 +144,7 @@
* atest FrameworksServicesTests:PowerManagerServiceTest
*/
@SuppressWarnings("GuardedBy")
+@RunWith(TestParameterInjector.class)
public class PowerManagerServiceTest {
private static final String SYSTEM_PROPERTY_QUIESCENT = "ro.boot.quiescent";
private static final String SYSTEM_PROPERTY_REBOOT_REASON = "sys.boot.reason";
@@ -2768,12 +2773,13 @@
}
@Test
- public void testFeatureEnabledProcStateUncachedToCached_fullWakeLockDisabled() {
+ public void testFeatureEnabledProcStateUncachedToCached_screenWakeLockDisabled(
+ @TestParameter PowerManagerServiceTest.ScreenWakeLockTestParameter param) {
doReturn(true).when(mDeviceParameterProvider)
.isDisableScreenWakeLocksWhileCachedFeatureEnabled();
createService();
startSystem();
- WakeLock wakeLock = acquireWakeLock("fullWakeLock", PowerManager.FULL_WAKE_LOCK);
+ WakeLock wakeLock = acquireWakeLock(param.mDescr, param.mFlags);
setUncachedUidProcState(wakeLock.mOwnerUid);
setCachedUidProcState(wakeLock.mOwnerUid);
@@ -2781,12 +2787,13 @@
}
@Test
- public void testFeatureDisabledProcStateUncachedToCached_fullWakeLockEnabled() {
+ public void testFeatureDisabledProcStateUncachedToCached_screenWakeLockEnabled(
+ @TestParameter PowerManagerServiceTest.ScreenWakeLockTestParameter param) {
doReturn(false).when(mDeviceParameterProvider)
.isDisableScreenWakeLocksWhileCachedFeatureEnabled();
createService();
startSystem();
- WakeLock wakeLock = acquireWakeLock("fullWakeLock", PowerManager.FULL_WAKE_LOCK);
+ WakeLock wakeLock = acquireWakeLock(param.mDescr, param.mFlags);
setUncachedUidProcState(wakeLock.mOwnerUid);
setCachedUidProcState(wakeLock.mOwnerUid);
@@ -2794,68 +2801,27 @@
}
@Test
- public void testFeatureEnabledProcStateUncachedToCached_screenBrightWakeLockDisabled() {
+ public void testFeatureEnabledProcStateCachedToUncached_screenWakeLockEnabled(
+ @TestParameter PowerManagerServiceTest.ScreenWakeLockTestParameter param) {
doReturn(true).when(mDeviceParameterProvider)
.isDisableScreenWakeLocksWhileCachedFeatureEnabled();
createService();
startSystem();
- WakeLock wakeLock = acquireWakeLock("screenBrightWakeLock",
- PowerManager.SCREEN_BRIGHT_WAKE_LOCK);
- setUncachedUidProcState(wakeLock.mOwnerUid);
-
+ WakeLock wakeLock = acquireWakeLock(param.mDescr, param.mFlags);
setCachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isTrue();
+
+ setUncachedUidProcState(wakeLock.mOwnerUid);
+ assertThat(wakeLock.mDisabled).isFalse();
}
@Test
- public void testFeatureDisabledProcStateUncachedToCached_screenBrightWakeLockEnabled() {
+ public void testFeatureDisabledProcStateCachedToUncached_screenWakeLockEnabled(
+ @TestParameter PowerManagerServiceTest.ScreenWakeLockTestParameter param) {
doReturn(false).when(mDeviceParameterProvider)
.isDisableScreenWakeLocksWhileCachedFeatureEnabled();
createService();
startSystem();
- WakeLock wakeLock = acquireWakeLock("screenBrightWakeLock",
- PowerManager.SCREEN_BRIGHT_WAKE_LOCK);
- setUncachedUidProcState(wakeLock.mOwnerUid);
-
- setCachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureEnabledProcStateUncachedToCached_screenDimWakeLockDisabled() {
- doReturn(true).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenDimWakeLock",
- PowerManager.SCREEN_DIM_WAKE_LOCK);
- setUncachedUidProcState(wakeLock.mOwnerUid);
-
- setCachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isTrue();
- }
-
- @Test
- public void testFeatureDisabledProcStateUncachedToCached_screenDimWakeLockEnabled() {
- doReturn(false).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenDimWakeLock",
- PowerManager.SCREEN_DIM_WAKE_LOCK);
- setUncachedUidProcState(wakeLock.mOwnerUid);
-
- setCachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureEnabledProcStateCachedToUncached_fullWakeLockEnabled() {
- doReturn(true).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("fullWakeLock", PowerManager.FULL_WAKE_LOCK);
+ WakeLock wakeLock = acquireWakeLock(param.mDescr, param.mFlags);
setCachedUidProcState(wakeLock.mOwnerUid);
setUncachedUidProcState(wakeLock.mOwnerUid);
@@ -2863,76 +2829,7 @@
}
@Test
- public void testFeatureDisabledProcStateCachedToUncached_fullWakeLockEnabled() {
- doReturn(false).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("fullWakeLock", PowerManager.FULL_WAKE_LOCK);
- setCachedUidProcState(wakeLock.mOwnerUid);
-
- setUncachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureEnabledProcStateCachedToUncached_screenBrightWakeLockEnabled() {
- doReturn(true).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenBrightWakeLock",
- PowerManager.SCREEN_BRIGHT_WAKE_LOCK);
- setCachedUidProcState(wakeLock.mOwnerUid);
-
- setUncachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureDisabledProcStateCachedToUncached_screenBrightWakeLockEnabled() {
- doReturn(false).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenBrightWakeLock",
- PowerManager.SCREEN_BRIGHT_WAKE_LOCK);
- setCachedUidProcState(wakeLock.mOwnerUid);
-
- setUncachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureEnabledProcStateCachedToUncached_screenDimWakeLockEnabled() {
- doReturn(true).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenDimWakeLock",
- PowerManager.SCREEN_DIM_WAKE_LOCK);
- setCachedUidProcState(wakeLock.mOwnerUid);
-
- setUncachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureDisabledProcStateCachedToUncached_screenDimWakeLockEnabled() {
- doReturn(false).when(mDeviceParameterProvider)
- .isDisableScreenWakeLocksWhileCachedFeatureEnabled();
- createService();
- startSystem();
- WakeLock wakeLock = acquireWakeLock("screenDimWakeLock",
- PowerManager.SCREEN_DIM_WAKE_LOCK);
- setCachedUidProcState(wakeLock.mOwnerUid);
-
- setUncachedUidProcState(wakeLock.mOwnerUid);
- assertThat(wakeLock.mDisabled).isFalse();
- }
-
- @Test
- public void testFeatureDynamicallyDisabledProcStateUncachedToCached_fullWakeLockEnabled() {
+ public void testFeatureDynamicallyDisabledProcStateUncachedToCached_screenWakeLockEnabled() {
doReturn(true).when(mDeviceParameterProvider)
.isDisableScreenWakeLocksWhileCachedFeatureEnabled();
ArgumentCaptor<DeviceConfig.OnPropertiesChangedListener> listenerCaptor =
@@ -2960,4 +2857,18 @@
private void setUncachedUidProcState(int uid) {
mService.updateUidProcStateInternal(uid, PROCESS_STATE_RECEIVER);
}
+
+ private enum ScreenWakeLockTestParameter {
+ FULL_WAKE_LOCK("fullWakeLock", PowerManager.FULL_WAKE_LOCK),
+ SCREEN_BRIGHT_WAKE_LOCK("screenBrightWakeLock", PowerManager.SCREEN_BRIGHT_WAKE_LOCK),
+ SCREEN_DIM_WAKE_LOCK("screenDimWakeLock", PowerManager.SCREEN_DIM_WAKE_LOCK);
+
+ final String mDescr;
+ final int mFlags;
+
+ ScreenWakeLockTestParameter(String descr, int flags) {
+ this.mDescr = descr;
+ this.mFlags = flags;
+ }
+ }
}