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

Commit ba500e96 authored by Antonella Dellanzo's avatar Antonella Dellanzo Committed by Android (Google) Code Review
Browse files

Merge "Move tests from FlickerTests to WMShell"

parents ed7b77e8 941c3b8a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -29,7 +29,10 @@ android_test {
        "truth-prebuilt",
        "app-helpers-core",
        "launcher-helper-lib",
        "launcher-aosp-tapl"
        "launcher-aosp-tapl",
        "wm-flicker-common-assertions",
        "wm-flicker-common-app-helpers",
        "platform-test-annotations",
    ],
}

@@ -47,6 +50,9 @@ android_test {
        "truth-prebuilt",
        "app-helpers-core",
        "launcher-helper-lib",
        "launcher-aosp-tapl"
        "launcher-aosp-tapl",
        "wm-flicker-common-assertions",
        "wm-flicker-common-app-helpers",
        "platform-test-annotations",
    ],
}
+1 −1
Original line number Diff line number Diff line
@@ -14,6 +14,6 @@
 * limitations under the License.
 */

package com.android.server.wm.flicker.pip
package com.android.wm.shell.flicker.pip

internal const val PIP_WINDOW_TITLE = "PipMenuActivity"
+84 −75
Original line number Diff line number Diff line
@@ -19,42 +19,53 @@ package com.android.wm.shell.flicker.pip
import android.view.Surface
import androidx.test.filters.FlakyTest
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.dsl.flicker
import androidx.test.platform.app.InstrumentationRegistry
import com.android.server.wm.flicker.Flicker
import com.android.server.wm.flicker.FlickerTestRunner
import com.android.server.wm.flicker.FlickerTestRunnerFactory
import com.android.server.wm.flicker.helpers.buildTestTag
import com.android.server.wm.flicker.helpers.closePipWindow
import com.android.server.wm.flicker.helpers.expandPipWindow
import com.android.server.wm.flicker.helpers.hasPipWindow
import com.android.server.wm.flicker.helpers.setRotation
import com.android.server.wm.flicker.helpers.wakeUpAndGoToHomeScreen
import com.android.wm.shell.flicker.navBarLayerIsAlwaysVisible
import com.android.wm.shell.flicker.navBarLayerRotatesAndScales
import com.android.wm.shell.flicker.navBarWindowIsAlwaysVisible
import com.android.wm.shell.flicker.noUncoveredRegions
import com.android.wm.shell.flicker.statusBarLayerIsAlwaysVisible
import com.android.wm.shell.flicker.statusBarLayerRotatesScales
import com.android.wm.shell.flicker.statusBarWindowIsAlwaysVisible
import com.android.wm.shell.flicker.PIP_WINDOW_NAME
import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible
import com.android.server.wm.flicker.navBarLayerRotatesAndScales
import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible
import com.android.server.wm.flicker.statusBarLayerRotatesScales
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible
import com.android.server.wm.flicker.noUncoveredRegions
import com.android.server.wm.flicker.repetitions
import com.android.server.wm.flicker.startRotation
import com.android.wm.shell.flicker.helpers.PipAppHelper
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized

/**
 * Test Pip launch.
 * To run this test: `atest WMShellFlickerTests:PipToAppTest`
 * To run this test: `atest WMShellFlickerTests:EnterPipTest`
 */
@RequiresDevice
@RunWith(Parameterized::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
@FlakyTest(bugId = 152738416)
class EnterPipTest(
    rotationName: String,
    rotation: Int
) : PipTestBase(rotationName, rotation) {
    @Test
    fun test() {
        flicker(instrumentation) {
            withTag { buildTestTag("enterPip", testApp, rotation) }
            repeat { 1 }
    testName: String,
    flickerSpec: Flicker
) : FlickerTestRunner(testName, flickerSpec) {
    companion object {
        @Parameterized.Parameters(name = "{0}")
        @JvmStatic
        fun getParams(): List<Array<Any>> {
            val instrumentation = InstrumentationRegistry.getInstrumentation()
            val testApp = PipAppHelper(instrumentation)
            return FlickerTestRunnerFactory(instrumentation, listOf(Surface.ROTATION_0))
                .buildTest { configuration ->
                    withTestName { buildTestTag("enterPip", testApp, configuration) }
                    repeat { configuration.repetitions }
                    setup {
                        test {
                            device.wakeUpAndGoToHomeScreen()
@@ -62,7 +73,7 @@ class EnterPipTest(
                        eachRun {
                            device.pressHome()
                            testApp.open()
                    this.setRotation(rotation)
                            this.setRotation(configuration.startRotation)
                        }
                    }
                    teardown {
@@ -87,36 +98,34 @@ class EnterPipTest(
                        windowManagerTrace {
                            navBarWindowIsAlwaysVisible()
                            statusBarWindowIsAlwaysVisible()

                            all("pipWindowBecomesVisible") {
                                this.showsAppWindow(testApp.`package`)
                                    .then()
                                .showsAppWindow(PIP_WINDOW_NAME)
                                    .showsAppWindow(PIP_WINDOW_TITLE)
                            }
                        }

                        layersTrace {
                    navBarLayerIsAlwaysVisible()
                            navBarLayerIsAlwaysVisible(bugId = 140855415)
                            statusBarLayerIsAlwaysVisible()
                    noUncoveredRegions(rotation, Surface.ROTATION_0, allStates = false)
                    navBarLayerRotatesAndScales(rotation, Surface.ROTATION_0)
                    statusBarLayerRotatesScales(rotation, Surface.ROTATION_0)
                            noUncoveredRegions(configuration.startRotation, Surface.ROTATION_0,
                                enabled = false)
                            navBarLayerRotatesAndScales(configuration.startRotation,
                                Surface.ROTATION_0, bugId = 140855415)
                            statusBarLayerRotatesScales(configuration.startRotation,
                                Surface.ROTATION_0)
                        }

                        layersTrace {
                            all("pipLayerBecomesVisible") {
                                this.showsLayer(testApp.launcherName)
                                    .then()
                                .showsLayer(PIP_WINDOW_NAME)
                                    .showsLayer(PIP_WINDOW_TITLE)
                            }
                        }
                    }
                }
        }

    companion object {
        @Parameterized.Parameters(name = "{0}")
        @JvmStatic
        fun getParams(): Collection<Array<Any>> {
            val supportedRotations = intArrayOf(Surface.ROTATION_0)
            return supportedRotations.map { arrayOf(Surface.rotationToString(it), it) }
        }
    }
}
 No newline at end of file
+4 −4
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.server.wm.flicker.pip
package com.android.wm.shell.flicker.pip

import android.view.Surface
import androidx.test.filters.FlakyTest
@@ -24,7 +24,6 @@ import com.android.server.wm.flicker.Flicker
import com.android.server.wm.flicker.FlickerTestRunner
import com.android.server.wm.flicker.FlickerTestRunnerFactory
import com.android.server.wm.flicker.focusChanges
import com.android.server.wm.flicker.helpers.PipAppHelper
import com.android.server.wm.flicker.helpers.buildTestTag
import com.android.server.wm.flicker.helpers.closePipWindow
import com.android.server.wm.flicker.helpers.expandPipWindow
@@ -40,6 +39,7 @@ import com.android.server.wm.flicker.startRotation
import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible
import com.android.server.wm.flicker.statusBarLayerRotatesScales
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
import com.android.wm.shell.flicker.helpers.PipAppHelper
import org.junit.FixMethodOrder
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
@@ -47,7 +47,7 @@ import org.junit.runners.Parameterized

/**
 * Test Pip launch.
 * To run this test: `atest FlickerTests:PipToAppTest`
 * To run this test: `atest WMShellFlickerTests:PipToAppTest`
 */
@RequiresDevice
@RunWith(Parameterized::class)
@@ -75,7 +75,7 @@ class PipToAppTest(
                        }
                        eachRun {
                            this.setRotation(configuration.startRotation)
                            testApp.clickEnterPipButton(device)
                            testApp.clickEnterPipButton()
                            device.hasPipWindow()
                        }
                    }
+5 −5
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.server.wm.flicker.pip
package com.android.wm.shell.flicker.pip

import android.view.Surface
import androidx.test.filters.FlakyTest
@@ -24,7 +24,6 @@ import com.android.server.wm.flicker.Flicker
import com.android.server.wm.flicker.FlickerTestRunner
import com.android.server.wm.flicker.FlickerTestRunnerFactory
import com.android.server.wm.flicker.focusChanges
import com.android.server.wm.flicker.helpers.PipAppHelper
import com.android.server.wm.flicker.helpers.buildTestTag
import com.android.server.wm.flicker.helpers.closePipWindow
import com.android.server.wm.flicker.helpers.hasPipWindow
@@ -39,6 +38,7 @@ import com.android.server.wm.flicker.startRotation
import com.android.server.wm.flicker.statusBarLayerIsAlwaysVisible
import com.android.server.wm.flicker.statusBarLayerRotatesScales
import com.android.server.wm.flicker.statusBarWindowIsAlwaysVisible
import com.android.wm.shell.flicker.helpers.PipAppHelper
import org.junit.FixMethodOrder
import org.junit.runner.RunWith
import org.junit.runners.MethodSorters
@@ -46,7 +46,7 @@ import org.junit.runners.Parameterized

/**
 * Test Pip launch.
 * To run this test: `atest FlickerTests:PipToHomeTest`
 * To run this test: `atest WMShellFlickerTests:PipToHomeTest`
 */
@RequiresDevice
@RunWith(Parameterized::class)
@@ -74,7 +74,7 @@ class PipToHomeTest(
                        eachRun {
                            testApp.open()
                            this.setRotation(configuration.startRotation)
                            testApp.clickEnterPipButton(device)
                            testApp.clickEnterPipButton()
                            device.hasPipWindow()
                        }
                    }
@@ -93,7 +93,7 @@ class PipToHomeTest(
                        }
                    }
                    transitions {
                        testApp.closePipWindow(device)
                        testApp.closePipWindow()
                    }
                    assertions {
                        windowManagerTrace {
Loading