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

Commit 941c3b8a authored by Antonella Dellanzo's avatar Antonella Dellanzo
Browse files

Move tests from FlickerTests to WMShell

Moving all tests of Pip and SplitScreen from FlickerTests lib to WMShell.

Test: atest WMShellFlickerTests FlickerTests
Change-Id: I5e915f38beb8c1fef44cf18d955caf1e3cc77b30
parent 6b534458
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