mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-03-02 17:06:49 +00:00
Merge "Diagnosing only system health problems happened during the test" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
cd7406d903
@@ -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() {
|
||||
// Limits UI tests affecting tests running after them.
|
||||
AbstractQuickStepTest.checkDetectedLeaks(mLauncher);
|
||||
public void tearDown() {
|
||||
try {
|
||||
// Limits UI tests affecting tests running after them.
|
||||
AbstractQuickStepTest.checkDetectedLeaks(mLauncher);
|
||||
} finally {
|
||||
mLauncher.onTestFinish();
|
||||
}
|
||||
}
|
||||
|
||||
// b/143488140
|
||||
|
||||
@@ -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,13 +289,17 @@ public abstract class AbstractLauncherUiTest {
|
||||
|
||||
@After
|
||||
public void verifyLauncherState() {
|
||||
// Limits UI tests affecting tests running after them.
|
||||
mLauncher.waitForLauncherInitialized();
|
||||
if (mLauncherPid != 0) {
|
||||
assertEquals("Launcher crashed, pid mismatch:",
|
||||
mLauncherPid, mLauncher.getPid().intValue());
|
||||
try {
|
||||
// Limits UI tests affecting tests running after them.
|
||||
mLauncher.waitForLauncherInitialized();
|
||||
if (mLauncherPid != 0) {
|
||||
assertEquals("Launcher crashed, pid mismatch:",
|
||||
mLauncherPid, mLauncher.getPid().intValue());
|
||||
}
|
||||
checkDetectedLeaks(mLauncher);
|
||||
} finally {
|
||||
mLauncher.onTestFinish();
|
||||
}
|
||||
checkDetectedLeaks(mLauncher);
|
||||
}
|
||||
|
||||
protected void clearLauncherData() {
|
||||
|
||||
@@ -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,14 +438,16 @@ public final class LauncherInstrumentation {
|
||||
mInstrumentation.getUiAutomation().grantRuntimePermission(
|
||||
testPackage, "android.permission.PACKAGE_USAGE_STATS");
|
||||
|
||||
final String systemHealth = mSystemHealthSupplier != null
|
||||
? mSystemHealthSupplier.apply(START_TIME)
|
||||
: TestHelpers.getSystemHealthMessage(getContext(), START_TIME);
|
||||
if (mTestStartTime > 0) {
|
||||
final String systemHealth = mSystemHealthSupplier != null
|
||||
? mSystemHealthSupplier.apply(mTestStartTime)
|
||||
: TestHelpers.getSystemHealthMessage(getContext(), mTestStartTime);
|
||||
|
||||
if (systemHealth != null) {
|
||||
return message
|
||||
+ ",\nperhaps linked to system health problems:\n<<<<<<<<<<<<<<<<<<\n"
|
||||
+ systemHealth + "\n>>>>>>>>>>>>>>>>>>";
|
||||
if (systemHealth != null) {
|
||||
return message
|
||||
+ ",\nperhaps linked to system health problems:\n<<<<<<<<<<<<<<<<<<\n"
|
||||
+ systemHealth + "\n>>>>>>>>>>>>>>>>>>";
|
||||
}
|
||||
}
|
||||
|
||||
return message;
|
||||
|
||||
Reference in New Issue
Block a user