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

Commit a9048d72 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 545262b4 9edca34c
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)
                                }
                            }
                        }
                    }
                }
        }
    }