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

Commit 654adf65 authored by Pinyao Ting's avatar Pinyao Ting
Browse files

integration test for open settings menu from workspace.

compare pid of launcher process after test execution to verify launcher isn't crashed when running in oop test.

Bug: 147235759
Change-Id: Id13c47f5c4e388cc8e95b19d099e94a2e540bf3f
Test: fun flake locally
parent 2e0b8e39
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.graphics.Bitmap;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Debug;
import android.system.Os;
import android.view.View;

import androidx.annotation.Keep;
@@ -136,6 +137,11 @@ public class TestInformationHandler implements ResourceBasedOverride {
                break;
            }

            case TestProtocol.REQUEST_PID: {
                response.putInt(TestProtocol.TEST_INFO_RESPONSE_FIELD, Os.getpid());
                break;
            }

            case TestProtocol.REQUEST_TOTAL_PSS_KB: {
                runGcAndFinalizersSync();
                Debug.MemoryInfo mem = new Debug.MemoryInfo();
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public final class TestProtocol {
    public static final String REQUEST_APPS_LIST_SCROLL_Y = "apps-list-scroll-y";
    public static final String REQUEST_OVERVIEW_LEFT_GESTURE_MARGIN = "overview-left-margin";
    public static final String REQUEST_OVERVIEW_RIGHT_GESTURE_MARGIN = "overview-right-margin";
    public static final String REQUEST_PID = "pid";
    public static final String REQUEST_TOTAL_PSS_KB = "total_pss";
    public static final String REQUEST_JAVA_LEAK = "java-leak";
    public static final String REQUEST_NATIVE_LEAK = "native-leak";
+0 −1
Original line number Diff line number Diff line
@@ -47,7 +47,6 @@ import com.android.launcher3.widget.WidgetsFullSheet;
import java.util.ArrayList;
import java.util.List;


/**
 * Popup shown on long pressing an empty space in launcher
 */
+23 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ package com.android.launcher3.ui;

import static androidx.test.InstrumentationRegistry.getInstrumentation;

import static com.android.launcher3.util.rule.TestStabilityRule.LOCAL;
import static com.android.launcher3.util.rule.TestStabilityRule.UNBUNDLED_POSTSUBMIT;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
@@ -36,10 +39,12 @@ import com.android.launcher3.tapl.AppIconMenu;
import com.android.launcher3.tapl.AppIconMenuItem;
import com.android.launcher3.tapl.Widgets;
import com.android.launcher3.tapl.Workspace;
import com.android.launcher3.util.rule.TestStabilityRule.Stability;
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;
@@ -50,10 +55,18 @@ 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 {
        super.setUp();
        initialize(this);
        mLauncherPid = mLauncher.getPid();
    }

    @After
    public void teardown() {
        assertEquals("Launcher crashed, pid mismatch:", mLauncherPid, mLauncher.getPid());
    }

    public static void initialize(AbstractLauncherUiTest test) throws Exception {
@@ -100,6 +113,16 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest {
        mLauncher.pressHome();
    }

    // b/146432215: remove @Stability after 2/1/2020 if this test doesn't flake
    @Test
    @Stability(flavors = LOCAL | UNBUNDLED_POSTSUBMIT)
    public void testOpenHomeSettingsFromWorkspace() {
        mDevice.pressMenu();
        mDevice.waitForIdle();
        mLauncher.getOptionsPopupMenu().getMenuItem("Home settings")
                        .launch(mDevice.getLauncherPackageName());
    }

    @Test
    @Ignore
    public void testPressHomeOnAllAppsContextMenu() throws Exception {
+2 −11
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package com.android.launcher3.tapl;

import android.graphics.Point;
import android.os.SystemClock;
import android.view.MotionEvent;
import android.widget.TextView;

import androidx.test.uiautomator.By;
@@ -41,14 +38,8 @@ public final class AppIcon extends Launchable {
     * Long-clicks the icon to open its menu.
     */
    public AppIconMenu openMenu() {
        final Point iconCenter = mObject.getVisibleCenter();
        final long downTime = SystemClock.uptimeMillis();
        mLauncher.sendPointer(downTime, downTime, MotionEvent.ACTION_DOWN, iconCenter);
        final UiObject2 deepShortcutsContainer = mLauncher.waitForLauncherObject(
                "deep_shortcuts_container");
        mLauncher.sendPointer(
                downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, iconCenter);
        return new AppIconMenu(mLauncher, deepShortcutsContainer);
        return new AppIconMenu(mLauncher, mLauncher.clickAndGet(
                mObject, "deep_shortcuts_container"));
    }

    @Override
Loading