Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea94ef25 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix Ravenwood tests" into main

parents b9e31a80 dec8259c
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ import android.os.HandlerThread;
import android.os.Parcel;
import android.os.WakeLockStats;
import android.os.WorkSource;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.platform.test.ravenwood.RavenwoodRule;
import android.util.SparseArray;
import android.view.Display;
@@ -66,6 +68,7 @@ import com.android.internal.os.KernelCpuUidTimeReader.KernelCpuUidFreqTimeReader
import com.android.internal.os.KernelSingleUidTimeReader;
import com.android.internal.os.LongArrayMultiStateCounter;
import com.android.internal.os.PowerProfile;
import com.android.server.power.feature.flags.Flags;

import com.google.common.collect.ImmutableList;
import com.google.common.truth.LongSubject;
@@ -86,11 +89,16 @@ import java.util.List;
@RunWith(AndroidJUnit4.class)
@SuppressWarnings("GuardedBy")
public class BatteryStatsImplTest {
    @Rule
    @Rule(order = 0)
    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
            .setProvideMainThread(true)
            .setSystemPropertyImmutable("persist.sys.com.android.server.power.feature.flags."
                + "framework_wakelock_info-override", null)
            .build();

    @Rule(order = 1)
    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    @Mock
    private KernelCpuUidFreqTimeReader mKernelUidCpuFreqTimeReader;
    @Mock
@@ -572,6 +580,7 @@ public class BatteryStatsImplTest {
    }

    @Test
    @EnableFlags(Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    public void testGetWakeLockStats() {
        mBatteryStatsImpl.updateTimeBasesLocked(true, Display.STATE_OFF, 0, 0);

+11 −3
Original line number Diff line number Diff line
@@ -91,8 +91,13 @@ import java.util.function.IntConsumer;
public class BatteryStatsNoteTest {

    @Rule
    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
    public final RavenwoodRule mRavenwood =
            new RavenwoodRule.Builder()
                    .setProvideMainThread(true)
                    .setSystemPropertyImmutable(
                            "persist.sys.com.android.server.power.feature.flags."
                                    + "framework_wakelock_info-override",
                            null)
                    .build();

    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
@@ -192,6 +197,7 @@ public class BatteryStatsNoteTest {
     * Test BatteryStatsImpl.Uid.noteStartWakeLocked.
     */
    @Test
    @EnableFlags(com.android.server.power.feature.flags.Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    public void testNoteStartWakeLocked() throws Exception {
        final MockClock clocks = new MockClock(); // holds realtime and uptime in ms
        MockBatteryStatsImpl bi = new MockBatteryStatsImpl(clocks);
@@ -222,6 +228,7 @@ public class BatteryStatsNoteTest {
     * Test BatteryStatsImpl.Uid.noteStartWakeLocked for an isolated uid.
     */
    @Test
    @EnableFlags(com.android.server.power.feature.flags.Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    public void testNoteStartWakeLocked_isolatedUid() throws Exception {
        final MockClock clocks = new MockClock(); // holds realtime and uptime in ms
        PowerStatsUidResolver uidResolver = new PowerStatsUidResolver();
@@ -264,6 +271,7 @@ public class BatteryStatsNoteTest {
     * isolated uid is removed from batterystats before the wakelock has been stopped.
     */
    @Test
    @EnableFlags(com.android.server.power.feature.flags.Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    public void testNoteStartWakeLocked_isolatedUidRace() throws Exception {
        final MockClock clocks = new MockClock(); // holds realtime and uptime in ms
        PowerStatsUidResolver uidResolver = new PowerStatsUidResolver();
+18 −6
Original line number Diff line number Diff line
@@ -23,12 +23,15 @@ import android.os.BatteryStats;
import android.os.Process;
import android.os.UidBatteryConsumer;
import android.os.WorkSource;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.platform.test.ravenwood.RavenwoodRule;

import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;

import com.android.internal.os.PowerProfile;
import com.android.server.power.feature.flags.Flags;

import org.junit.Rule;
import org.junit.Test;
@@ -38,20 +41,29 @@ import org.junit.runner.RunWith;
@SmallTest
public class WakelockPowerCalculatorTest {
    @Rule(order = 0)
    public final RavenwoodRule mRavenwood = new RavenwoodRule.Builder()
    public final RavenwoodRule mRavenwood =
            new RavenwoodRule.Builder()
                    .setProvideMainThread(true)
                    .setSystemPropertyImmutable(
                            "persist.sys.com.android.server.power.feature.flags."
                                    + "framework_wakelock_info-override",
                            null)
                    .build();

    @Rule(order = 1)
    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    private static final double PRECISION = 0.00001;

    private static final int APP_UID = Process.FIRST_APPLICATION_UID + 42;
    private static final int APP_PID = 3145;

    @Rule(order = 1)
    public final BatteryUsageStatsRule mStatsRule = new BatteryUsageStatsRule()
            .setAveragePower(PowerProfile.POWER_CPU_IDLE, 360.0);
    @Rule(order = 2)
    public final BatteryUsageStatsRule mStatsRule =
            new BatteryUsageStatsRule().setAveragePower(PowerProfile.POWER_CPU_IDLE, 360.0);

    @Test
    @EnableFlags(Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    public void testTimerBasedModel() {
        mStatsRule.getUidStats(Process.ROOT_UID);

+19 −5
Original line number Diff line number Diff line
@@ -24,10 +24,14 @@ import static org.mockito.Mockito.mock;

import android.content.Context;
import android.os.Process;
import android.platform.test.annotations.DisableFlags;
import android.platform.test.annotations.DisabledOnRavenwood;
import android.platform.test.flag.junit.SetFlagsRule;
import android.platform.test.ravenwood.RavenwoodConfig;
import android.platform.test.ravenwood.RavenwoodConfig.Config;

import com.android.internal.os.PowerStats;
import com.android.server.power.feature.flags.Flags;
import com.android.server.power.stats.format.WakelockPowerStatsLayout;

import org.junit.Before;
@@ -37,11 +41,19 @@ import org.junit.Test;
public class WakelockPowerStatsCollectorTest {

    @Config
    public static final RavenwoodConfig sConfig = new RavenwoodConfig.Builder()
    public static final RavenwoodConfig sConfig =
            new RavenwoodConfig.Builder()
                    .setProvideMainThread(true)
                    .setSystemPropertyImmutable(
                            "persist.sys.com.android.server.power.feature.flags."
                                    + "framework_wakelock_info-override",
                            null)
                    .build();

    @Rule
    @Rule(order = 0)
    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    @Rule(order = 1)
    public final BatteryUsageStatsRule mStatsRule = new BatteryUsageStatsRule();

    private static final int APP_UID1 = Process.FIRST_APPLICATION_UID + 42;
@@ -63,6 +75,8 @@ public class WakelockPowerStatsCollectorTest {
    }

    @Test
    @DisableFlags(Flags.FLAG_FRAMEWORK_WAKELOCK_INFO)
    @DisabledOnRavenwood(reason = "b/372292543 temporary disable")
    public void collectStats() {
        PowerStatsCollector powerStatsCollector = mBatteryStats.getPowerStatsCollector(
                POWER_COMPONENT_WAKELOCK);