From 306ef506b396b20d0d0c631afabe2bdd82ee17d7 Mon Sep 17 00:00:00 2001 From: Nataniel Borges Date: Mon, 13 Dec 2021 17:08:48 +0100 Subject: [PATCH] Disable failing shell transition tests Some tests are failing when using shell transition. Disable the tests that currently fail so that we can move some shell assertions into presubmit Test: atest FlickerTests WMShellFlickerTests Change-Id: If86fb6b053a384050aa533d2ebb45031c1acdf70 --- .../SetRequestedOrientationWhilePinnedTest.kt | 50 +++++++++++++++-- .../wm/flicker/launch/OpenAppColdTest.kt | 6 +- .../wm/flicker/launch/OpenAppWarmTest.kt | 6 +- .../QuickSwitchBetweenTwoAppsForwardTest.kt | 56 +++++++++++++++++-- 4 files changed, 106 insertions(+), 12 deletions(-) diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt index 2a53bef8cf2ed..3121218c7c372 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/pip/SetRequestedOrientationWhilePinnedTest.kt @@ -30,7 +30,6 @@ import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled import com.android.wm.shell.flicker.pip.PipTransition.BroadcastActionTrigger.Companion.ORIENTATION_LANDSCAPE import com.android.wm.shell.flicker.testapp.Components.FixedActivity.EXTRA_FIXED_ORIENTATION import com.android.wm.shell.flicker.testapp.Components.PipActivity.EXTRA_ENTER_PIP -import org.junit.Assert.assertEquals import org.junit.Assume.assumeFalse import org.junit.FixMethodOrder import org.junit.Test @@ -79,13 +78,42 @@ class SetRequestedOrientationWhilePinnedTest( pipApp.launchViaIntent(wmHelper) wmHelper.waitForFullScreenApp(pipApp.component) wmHelper.waitForRotation(Surface.ROTATION_90) - assertEquals(Surface.ROTATION_90, device.displayRotation) } } + @Presubmit + @Test + fun displayEndsAt90Degrees() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) + testSpec.assertWmEnd { + hasRotation(Surface.ROTATION_90) + } + } + + @Presubmit + @Test + override fun navBarLayerIsVisible() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) + super.navBarLayerIsVisible() + } + + @Presubmit + @Test + override fun statusBarLayerIsVisible() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) + super.statusBarLayerIsVisible() + } + @FlakyTest @Test - override fun navBarLayerRotatesAndScales() = super.navBarLayerRotatesAndScales() + override fun navBarLayerRotatesAndScales() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) + super.navBarLayerRotatesAndScales() + } @Presubmit @Test @@ -98,6 +126,8 @@ class SetRequestedOrientationWhilePinnedTest( @Presubmit @Test fun pipWindowInsideDisplay() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) testSpec.assertWmStart { frameRegion(pipApp.component).coversAtMost(startingBounds) } @@ -106,6 +136,8 @@ class SetRequestedOrientationWhilePinnedTest( @Presubmit @Test fun pipAppShowsOnTop() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) testSpec.assertWmEnd { isAppWindowOnTop(pipApp.component) } @@ -114,6 +146,8 @@ class SetRequestedOrientationWhilePinnedTest( @Presubmit @Test fun pipLayerInsideDisplay() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) testSpec.assertLayersStart { visibleRegion(pipApp.component).coversAtMost(startingBounds) } @@ -121,13 +155,19 @@ class SetRequestedOrientationWhilePinnedTest( @Presubmit @Test - fun pipAlwaysVisible() = testSpec.assertWm { - this.isAppWindowVisible(pipApp.component) + fun pipAlwaysVisible() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) + testSpec.assertWm { + this.isAppWindowVisible(pipApp.component) + } } @Presubmit @Test fun pipAppLayerCoversFullScreen() { + // This test doesn't work in shell transitions because of b/208576418 + assumeFalse(isShellTransitionsEnabled) testSpec.assertLayersEnd { visibleRegion(pipApp.component).coversExactly(endingBounds) } diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt index fe434268fbc96..32feccda0c476 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt @@ -99,7 +99,11 @@ class OpenAppColdTest(testSpec: FlickerTestParameter) : OpenAppTransition(testSp /** {@inheritDoc} */ @Presubmit @Test - override fun appLayerReplacesLauncher() = super.appLayerReplacesLauncher() + override fun appLayerReplacesLauncher() { + // This test doesn't work in shell transitions because of b/206094140 + assumeFalse(isShellTransitionsEnabled) + super.appLayerReplacesLauncher() + } /** {@inheritDoc} */ @Presubmit diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt index 4db01bf53833c..619f5d218a147 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt @@ -119,7 +119,11 @@ class OpenAppWarmTest(testSpec: FlickerTestParameter) : OpenAppTransition(testSp /** {@inheritDoc} */ @Presubmit @Test - override fun appLayerReplacesLauncher() = super.appLayerReplacesLauncher() + override fun appLayerReplacesLauncher() { + // This test doesn't work in shell transitions because of b/206094140 + assumeFalse(isShellTransitionsEnabled) + super.appLayerReplacesLauncher() + } /** {@inheritDoc} */ @Presubmit diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt index ded80a0b25092..8f8951b7379f5 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/quickswitch/QuickSwitchBetweenTwoAppsForwardTest.kt @@ -32,12 +32,14 @@ import com.android.server.wm.flicker.dsl.FlickerBuilder import com.android.server.wm.flicker.helpers.NonResizeableAppHelper import com.android.server.wm.flicker.helpers.SimpleAppHelper import com.android.server.wm.flicker.helpers.WindowUtils +import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled import com.android.server.wm.flicker.navBarLayerIsVisible import com.android.server.wm.flicker.navBarLayerRotatesAndScales import com.android.server.wm.flicker.navBarWindowIsVisible import com.android.server.wm.flicker.statusBarLayerIsVisible import com.android.server.wm.flicker.statusBarWindowIsVisible import com.android.server.wm.traces.common.FlickerComponentName +import org.junit.Assume import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith @@ -128,6 +130,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun startsWithApp1WindowsCoverFullScreen() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWmStart { this.frameRegion(testApp1.component).coversExactly(startDisplayBounds) } @@ -140,6 +144,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun startsWithApp1LayersCoverFullScreen() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertLayersStart { this.visibleRegion(testApp1.component).coversExactly(startDisplayBounds) } @@ -151,6 +157,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun startsWithApp1WindowBeingOnTop() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWmStart { this.isAppWindowOnTop(testApp1.component) } @@ -163,6 +171,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun endsWithApp2WindowsCoveringFullScreen() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWmEnd { this.frameRegion(testApp2.component).coversExactly(startDisplayBounds) } @@ -175,6 +185,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun endsWithApp2LayersCoveringFullScreen() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertLayersEnd { this.visibleRegion(testApp2.component).coversExactly(startDisplayBounds) } @@ -187,6 +199,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun endsWithApp2BeingOnTop() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWmEnd { this.isAppWindowOnTop(testApp2.component) } @@ -199,6 +213,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app2WindowBecomesAndStaysVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWm { this.isAppWindowInvisible(testApp2.component) .then() @@ -215,6 +231,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app2LayerBecomesAndStaysVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertLayers { this.isInvisible(testApp2.component) .then() @@ -229,6 +247,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app1WindowBecomesAndStaysInvisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWm { this.isAppWindowVisible(testApp1.component) .then() @@ -243,6 +263,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app1LayerBecomesAndStaysInvisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertLayers { this.isVisible(testApp1.component) .then() @@ -258,6 +280,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app2WindowIsVisibleOnceApp1WindowIsInvisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertWm { this.isAppWindowVisible(testApp1.component) .then() @@ -277,6 +301,8 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara @Presubmit @Test fun app2LayerIsVisibleOnceApp1LayerIsInvisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) testSpec.assertLayers { this.isVisible(testApp1.component) .then() @@ -293,14 +319,22 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara */ @Presubmit @Test - fun navBarWindowIsAlwaysVisible() = testSpec.navBarWindowIsVisible() + fun navBarWindowIsAlwaysVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.navBarWindowIsVisible() + } /** * Checks that the navbar layer is visible throughout the entire transition. */ @Presubmit @Test - fun navBarLayerAlwaysIsVisible() = testSpec.navBarLayerIsVisible() + fun navBarLayerAlwaysIsVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.navBarLayerIsVisible() + } /** * Checks that the navbar is always in the right position and covers the expected region. @@ -309,21 +343,33 @@ class QuickSwitchBetweenTwoAppsForwardTest(private val testSpec: FlickerTestPara */ @Presubmit @Test - fun navbarIsAlwaysInRightPosition() = testSpec.navBarLayerRotatesAndScales() + fun navbarIsAlwaysInRightPosition() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.navBarLayerRotatesAndScales() + } /** * Checks that the status bar window is visible throughout the entire transition. */ @Presubmit @Test - fun statusBarWindowIsAlwaysVisible() = testSpec.statusBarWindowIsVisible() + fun statusBarWindowIsAlwaysVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.statusBarWindowIsVisible() + } /** * Checks that the status bar layer is visible throughout the entire transition. */ @Presubmit @Test - fun statusBarLayerIsAlwaysVisible() = testSpec.statusBarLayerIsVisible() + fun statusBarLayerIsAlwaysVisible() { + // This test doesn't work in shell transitions because of b/209936664 + Assume.assumeFalse(isShellTransitionsEnabled) + testSpec.statusBarLayerIsVisible() + } companion object { @Parameterized.Parameters(name = "{0}")