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

Commit eefc2e1d authored by vadimt's avatar vadimt Committed by Vadim Tryshev
Browse files

Diagnosing only system health problems happened during the test

Test: presubmit
Bug: 187761685
Change-Id: I3feba12e2228fe6dda3b0d65d904b0b839da2108
parent bcf85de8
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ import com.android.launcher3.util.rule.FailureWatcher;
import com.android.quickstep.views.RecentsView;

import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.RuleChain;
@@ -142,10 +143,19 @@ public class FallbackRecentsTest {
        }
    }

    @Before
    public void setUp() {
        mLauncher.onTestStart();
    }

    @After
    public void verifyLauncherState() {
    public void tearDown() {
        try {
            // Limits UI tests affecting tests running after them.
            AbstractQuickStepTest.checkDetectedLeaks(mLauncher);
        } finally {
            mLauncher.onTestFinish();
        }
    }

    // b/143488140
+11 −6
Original line number Diff line number Diff line
@@ -249,6 +249,7 @@ public abstract class AbstractLauncherUiTest {

    @Before
    public void setUp() throws Exception {
        mLauncher.onTestStart();
        Assert.assertTrue("Keyguard is visible, which is likely caused by a crash in SysUI",
                TestHelpers.wait(
                        Until.gone(By.res(SYSTEMUI_PACKAGE, "keyguard_status_view")), 60000));
@@ -288,6 +289,7 @@ public abstract class AbstractLauncherUiTest {

    @After
    public void verifyLauncherState() {
        try {
            // Limits UI tests affecting tests running after them.
            mLauncher.waitForLauncherInitialized();
            if (mLauncherPid != 0) {
@@ -295,6 +297,9 @@ public abstract class AbstractLauncherUiTest {
                        mLauncherPid, mLauncher.getPid().intValue());
            }
            checkDetectedLeaks(mLauncher);
        } finally {
            mLauncher.onTestFinish();
        }
    }

    protected void clearLauncherData() {
+18 −8
Original line number Diff line number Diff line
@@ -95,7 +95,6 @@ public final class LauncherInstrumentation {
    private static final String TAG = "Tapl";
    private static final int ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME = 20;
    private static final int GESTURE_STEP_MS = 16;
    private static long START_TIME = System.currentTimeMillis();

    private static final Pattern EVENT_TOUCH_DOWN = getTouchEventPattern("ACTION_DOWN");
    private static final Pattern EVENT_TOUCH_UP = getTouchEventPattern("ACTION_UP");
@@ -107,6 +106,7 @@ public final class LauncherInstrumentation {
    static final Pattern EVENT_TOUCH_UP_TIS = getTouchEventPatternTIS("ACTION_UP");
    private final String mLauncherPackage;
    private final boolean mIsLauncher3;
    private long mTestStartTime = -1;

    // Types for launcher containers that the user is interacting with. "Background" is a
    // pseudo-container corresponding to inactive launcher covered by another app.
@@ -422,6 +422,14 @@ public final class LauncherInstrumentation {
        mOnSettledStateAction = onSettledStateAction;
    }

    public void onTestStart() {
        mTestStartTime = System.currentTimeMillis();
    }

    public void onTestFinish() {
        mTestStartTime = -1;
    }

    private String formatSystemHealthMessage(String message) {
        final String testPackage = getContext().getPackageName();

@@ -430,15 +438,17 @@ public final class LauncherInstrumentation {
        mInstrumentation.getUiAutomation().grantRuntimePermission(
                testPackage, "android.permission.PACKAGE_USAGE_STATS");

        if (mTestStartTime > 0) {
            final String systemHealth = mSystemHealthSupplier != null
                ? mSystemHealthSupplier.apply(START_TIME)
                : TestHelpers.getSystemHealthMessage(getContext(), START_TIME);
                    ? mSystemHealthSupplier.apply(mTestStartTime)
                    : TestHelpers.getSystemHealthMessage(getContext(), mTestStartTime);

            if (systemHealth != null) {
                return message
                        + ",\nperhaps linked to system health problems:\n<<<<<<<<<<<<<<<<<<\n"
                        + systemHealth + "\n>>>>>>>>>>>>>>>>>>";
            }
        }

        return message;
    }