Loading libs/WindowManager/Shell/tests/flicker/Android.bp +8 −2 Original line number Diff line number Diff line Loading @@ -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", ], } Loading @@ -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", ], } tests/FlickerTests/src/com/android/server/wm/flicker/pip/CommonAssertions.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/CommonAssertions.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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" libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt +84 −75 Original line number Diff line number Diff line Loading @@ -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() Loading @@ -62,7 +73,7 @@ class EnterPipTest( eachRun { device.pressHome() testApp.open() this.setRotation(rotation) this.setRotation(configuration.startRotation) } } teardown { Loading @@ -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 tests/FlickerTests/src/com/android/server/wm/flicker/pip/PipToAppTest.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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) Loading Loading @@ -75,7 +75,7 @@ class PipToAppTest( } eachRun { this.setRotation(configuration.startRotation) testApp.clickEnterPipButton(device) testApp.clickEnterPipButton() device.hasPipWindow() } } Loading tests/FlickerTests/src/com/android/server/wm/flicker/pip/PipToHomeTest.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt +5 −5 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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) Loading Loading @@ -74,7 +74,7 @@ class PipToHomeTest( eachRun { testApp.open() this.setRotation(configuration.startRotation) testApp.clickEnterPipButton(device) testApp.clickEnterPipButton() device.hasPipWindow() } } Loading @@ -93,7 +93,7 @@ class PipToHomeTest( } } transitions { testApp.closePipWindow(device) testApp.closePipWindow() } assertions { windowManagerTrace { Loading Loading
libs/WindowManager/Shell/tests/flicker/Android.bp +8 −2 Original line number Diff line number Diff line Loading @@ -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", ], } Loading @@ -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", ], }
tests/FlickerTests/src/com/android/server/wm/flicker/pip/CommonAssertions.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/CommonAssertions.kt +1 −1 Original line number Diff line number Diff line Loading @@ -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"
libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/EnterPipTest.kt +84 −75 Original line number Diff line number Diff line Loading @@ -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() Loading @@ -62,7 +73,7 @@ class EnterPipTest( eachRun { device.pressHome() testApp.open() this.setRotation(rotation) this.setRotation(configuration.startRotation) } } teardown { Loading @@ -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
tests/FlickerTests/src/com/android/server/wm/flicker/pip/PipToAppTest.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToAppTest.kt +4 −4 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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) Loading Loading @@ -75,7 +75,7 @@ class PipToAppTest( } eachRun { this.setRotation(configuration.startRotation) testApp.clickEnterPipButton(device) testApp.clickEnterPipButton() device.hasPipWindow() } } Loading
tests/FlickerTests/src/com/android/server/wm/flicker/pip/PipToHomeTest.kt→libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/PipToHomeTest.kt +5 −5 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 Loading @@ -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) Loading Loading @@ -74,7 +74,7 @@ class PipToHomeTest( eachRun { testApp.open() this.setRotation(configuration.startRotation) testApp.clickEnterPipButton(device) testApp.clickEnterPipButton() device.hasPipWindow() } } Loading @@ -93,7 +93,7 @@ class PipToHomeTest( } } transitions { testApp.closePipWindow(device) testApp.closePipWindow() } assertions { windowManagerTrace { Loading