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

Commit fcf03953 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update app launch tests to new DSL format" into sc-dev am: a9048d72

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13453887

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I808e35d6f16a3f98de454cb54a9fcc049d52e38b
parents 89abd731 a9048d72
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -17,14 +17,10 @@
package com.android.server.wm.flicker.launch

import android.platform.helpers.IAppHelper
import com.android.server.wm.flicker.dsl.WmAssertionBuilderLegacy
import com.android.server.wm.flicker.dsl.WmAssertionBuilder

fun WmAssertionBuilderLegacy.appWindowReplacesLauncherAsTopWindow(
    testApp: IAppHelper,
    bugId: Int = 0,
    enabled: Boolean = bugId == 0
) {
    all("appWindowReplacesLauncherAsTopWindow", bugId, enabled) {
fun WmAssertionBuilder.appWindowReplacesLauncherAsTopWindow(testApp: IAppHelper, bugId: Int = 0) {
    all("appWindowReplacesLauncherAsTopWindow", bugId) {
        this.showsAppWindowOnTop("Launcher")
                .then()
                .showsAppWindowOnTop("Snapshot", testApp.getPackage())
+38 −25
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.wm.flicker.launch

import android.platform.test.annotations.Presubmit
import android.view.Surface
import androidx.test.filters.RequiresDevice
import androidx.test.platform.app.InstrumentationRegistry
@@ -51,7 +50,6 @@ import org.junit.runners.Parameterized
 * Test cold launch app from launcher.
 * To run this test: `atest FlickerTests:OpenAppColdTest`
 */
@Presubmit
@RequiresDevice
@RunWith(Parameterized::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -66,7 +64,7 @@ class OpenAppColdTest(
            val testApp = SimpleAppHelper(instrumentation)
            return FlickerTestRunnerFactory.getInstance()
                .buildTest(instrumentation) { configuration ->
                    withTestName { buildTestTag("openAppCold", testApp, configuration) }
                    withTestName { buildTestTag(configuration) }
                    repeat { configuration.repetitions }
                    setup {
                        test {
@@ -88,11 +86,13 @@ class OpenAppColdTest(
                        }
                    }
                    assertions {
                        val isRotated = configuration.startRotation.isRotated()

                        presubmit {
                            windowManagerTrace {
                                navBarWindowIsAlwaysVisible()
                                statusBarWindowIsAlwaysVisible()
                                visibleWindowsShownMoreThanOneConsecutiveEntry()

                                appWindowReplacesLauncherAsTopWindow(testApp)
                                wallpaperWindowBecomesInvisible()
                            }
@@ -100,23 +100,36 @@ class OpenAppColdTest(
                            layersTrace {
                                // During testing the launcher is always in portrait mode
                                noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation)
                            navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                            statusBarLayerRotatesScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                                navBarLayerIsAlwaysVisible()
                                statusBarLayerIsAlwaysVisible()
                            visibleLayersShownMoreThanOneConsecutiveEntry(enabled = false)

                                appLayerReplacesWallpaperLayer(testApp.`package`)

                                if (!isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                }
                            }

                            eventLog {
                                focusChanges("NexusLauncherActivity", testApp.`package`)
                            }
                        }

                        flaky {
                            layersTrace {
                                visibleLayersShownMoreThanOneConsecutiveEntry()

                                if (isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                }
                            }
                        }
                    }
                }
        }
    }
+47 −28
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.wm.flicker.launch

import android.platform.test.annotations.Presubmit
import android.view.Surface
import androidx.test.filters.RequiresDevice
import androidx.test.platform.app.InstrumentationRegistry
@@ -52,7 +51,6 @@ import org.junit.runners.Parameterized
 * Launch an app from the recents app view (the overview)
 * To run this test: `atest FlickerTests:OpenAppFromOverviewTest`
 */
@Presubmit
@RequiresDevice
@RunWith(Parameterized::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -67,7 +65,7 @@ class OpenAppFromOverviewTest(
            val testApp = SimpleAppHelper(instrumentation)
            return FlickerTestRunnerFactory.getInstance()
                .buildTest(instrumentation, repetitions = 5) { configuration ->
                    withTestName { buildTestTag("openAppFromOverview", configuration) }
                    withTestName { buildTestTag(configuration) }
                    repeat { configuration.repetitions }
                    setup {
                        test {
@@ -92,38 +90,59 @@ class OpenAppFromOverviewTest(
                        }
                    }
                    assertions {
                        val isRotated = configuration.startRotation.isRotated()

                        presubmit {
                            windowManagerTrace {
                                navBarWindowIsAlwaysVisible()
                                statusBarWindowIsAlwaysVisible()
                            visibleWindowsShownMoreThanOneConsecutiveEntry()

                                appWindowReplacesLauncherAsTopWindow(testApp)
                                wallpaperWindowBecomesInvisible()
                            }

                            layersTrace {
                            noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation,
                                bugId = 141361128)
                                appLayerReplacesWallpaperLayer(testApp.`package`)

                                if (!isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                            statusBarLayerIsAlwaysVisible(
                                enabled = Surface.ROTATION_0 == configuration.endRotation)
                            navBarLayerIsAlwaysVisible(
                                enabled = Surface.ROTATION_0 == configuration.endRotation)
                            visibleLayersShownMoreThanOneConsecutiveEntry(
                                enabled = false)

                            appLayerReplacesWallpaperLayer(testApp.`package`)
                                        configuration.endRotation)
                                } else {
                                    statusBarLayerIsAlwaysVisible()
                                    navBarLayerIsAlwaysVisible()
                                }
                            }

                            eventLog {
                                focusChanges("NexusLauncherActivity", testApp.`package`)
                            }
                        }

                        postsubmit {
                            windowManagerTrace {
                                visibleWindowsShownMoreThanOneConsecutiveEntry()
                            }
                        }

                        flaky {
                            layersTrace {
                                visibleLayersShownMoreThanOneConsecutiveEntry()
                                noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation,
                                    bugId = 141361128)

                                if (isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                } else {
                                    statusBarLayerIsAlwaysVisible()
                                    navBarLayerIsAlwaysVisible()
                                }
                            }
                        }
                    }
                }
        }
    }
+39 −25
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.server.wm.flicker.launch

import android.platform.test.annotations.Presubmit
import android.view.Surface
import androidx.test.filters.RequiresDevice
import androidx.test.platform.app.InstrumentationRegistry
@@ -51,7 +50,6 @@ import org.junit.runners.Parameterized
 * Test warm launch app.
 * To run this test: `atest FlickerTests:OpenAppWarmTest`
 */
@Presubmit
@RequiresDevice
@RunWith(Parameterized::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@@ -64,7 +62,7 @@ class OpenAppWarmTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTest
            val testApp = SimpleAppHelper(instrumentation)
            return FlickerTestRunnerFactory.getInstance()
                .buildTest(instrumentation) { configuration ->
                    withTestName { buildTestTag("openAppWarm", testApp, configuration) }
                    withTestName { buildTestTag(configuration) }
                    repeat { configuration.repetitions }
                    setup {
                        test {
@@ -91,6 +89,9 @@ class OpenAppWarmTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTest
                        }
                    }
                    assertions {
                        val isRotated = configuration.startRotation.isRotated()

                        presubmit {
                            windowManagerTrace {
                                navBarWindowIsAlwaysVisible()
                                statusBarWindowIsAlwaysVisible()
@@ -103,23 +104,36 @@ class OpenAppWarmTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTest
                            layersTrace {
                                // During testing the launcher is always in portrait mode
                                noUncoveredRegions(Surface.ROTATION_0, configuration.endRotation)
                            navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                            statusBarLayerRotatesScales(Surface.ROTATION_0,
                                configuration.endRotation,
                                enabled = !configuration.startRotation.isRotated())
                                navBarLayerIsAlwaysVisible()
                                statusBarLayerIsAlwaysVisible()
                            visibleLayersShownMoreThanOneConsecutiveEntry(enabled = false)

                                appLayerReplacesWallpaperLayer(testApp.`package`)

                                if (!isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                }
                            }

                            eventLog {
                                focusChanges("NexusLauncherActivity", testApp.`package`)
                            }
                        }

                        flaky {
                            layersTrace {
                                visibleLayersShownMoreThanOneConsecutiveEntry()

                                if (isRotated) {
                                    navBarLayerRotatesAndScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                    statusBarLayerRotatesScales(Surface.ROTATION_0,
                                        configuration.endRotation)
                                }
                            }
                        }
                    }
                }
        }
    }