From b79614cc93f7a54dead7c19e6e225cc4a832ba53 Mon Sep 17 00:00:00 2001 From: vadimt Date: Mon, 24 Feb 2020 18:24:05 -0800 Subject: [PATCH] Performing a check for a crashed Launcher process for each UI test --- .../com/android/quickstep/TaplTestsQuickstep.java | 12 ------------ .../launcher3/ui/AbstractLauncherUiTest.java | 13 +++++++++---- .../android/launcher3/ui/TaplTestsLauncher3.java | 12 ------------ 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java index 724af66836..ecfdb55425 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java @@ -45,7 +45,6 @@ import com.android.launcher3.util.rule.TestStabilityRule; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; import com.android.quickstep.views.RecentsView; -import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -53,21 +52,10 @@ import org.junit.runner.RunWith; @LargeTest @RunWith(AndroidJUnit4.class) public class TaplTestsQuickstep extends AbstractQuickStepTest { - private int mLauncherPid; - @Before public void setUp() throws Exception { - mLauncherPid = 0; super.setUp(); TaplTestsLauncher3.initialize(this); - mLauncherPid = mLauncher.getPid(); - } - - @After - public void teardown() { - if (mLauncherPid != 0) { - assertEquals("Launcher crashed, pid mismatch:", mLauncherPid, mLauncher.getPid()); - } } private void startTestApps() throws Exception { diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java index 4ffc2514c6..5e98184cc5 100644 --- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java +++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java @@ -22,10 +22,9 @@ import static com.android.launcher3.tapl.LauncherInstrumentation.ContainerType; import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static java.lang.System.exit; - import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.ContentResolver; @@ -38,7 +37,6 @@ import android.content.pm.LauncherApps; import android.content.pm.PackageManager; import android.os.Process; import android.os.RemoteException; -import android.util.Log; import androidx.test.InstrumentationRegistry; import androidx.test.uiautomator.By; @@ -102,6 +100,7 @@ public abstract class AbstractLauncherUiTest { protected final LauncherInstrumentation mLauncher = new LauncherInstrumentation(); protected Context mTargetContext; protected String mTargetPackage; + private int mLauncherPid; protected AbstractLauncherUiTest() { mLauncher.enableCheckEventsForSuccessfulGestures(); @@ -158,7 +157,7 @@ public abstract class AbstractLauncherUiTest { return TestHelpers.isInLauncherProcess() ? RuleChain.outerRule(ShellCommandRule.setDefaultLauncher()) - .around(inner) : + .around(inner) : inner; } @@ -175,17 +174,22 @@ public abstract class AbstractLauncherUiTest { @Before public void setUp() throws Exception { + mLauncherPid = 0; // Disable app tracker AppLaunchTracker.INSTANCE.initializeForTesting(new AppLaunchTracker()); mTargetContext = InstrumentationRegistry.getTargetContext(); mTargetPackage = mTargetContext.getPackageName(); + mLauncherPid = mLauncher.getPid(); } @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()); + } } protected void clearLauncherData() throws IOException, InterruptedException { @@ -196,6 +200,7 @@ public abstract class AbstractLauncherUiTest { } else { clearPackageData(mDevice.getLauncherPackageName()); mLauncher.enableDebugTracing(); + mLauncherPid = mLauncher.getPid(); } } diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index 54caf1e37b..7475efeff0 100644 --- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -40,7 +40,6 @@ import com.android.launcher3.views.OptionsPopupView; import com.android.launcher3.widget.WidgetsFullSheet; import com.android.launcher3.widget.WidgetsRecyclerView; -import org.junit.After; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; @@ -51,21 +50,10 @@ import org.junit.runner.RunWith; public class TaplTestsLauncher3 extends AbstractLauncherUiTest { private static final String APP_NAME = "LauncherTestApp"; - private int mLauncherPid; - @Before public void setUp() throws Exception { - mLauncherPid = 0; super.setUp(); initialize(this); - mLauncherPid = mLauncher.getPid(); - } - - @After - public void teardown() { - if (mLauncherPid != 0) { - assertEquals("Launcher crashed, pid mismatch:", mLauncherPid, mLauncher.getPid()); - } } public static void initialize(AbstractLauncherUiTest test) throws Exception {