Promote passing PIP tests
Bug: 251219769 Bug: 249308003 Bug: 216306753 Bug: 240499181 Bug: 264243884 Test: atest WMShellFlickerTest Change-Id: I3cc6fee106952f37667053451062c942b1198da1
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.app.Activity
|
||||
import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerBuilder
|
||||
@@ -27,10 +26,8 @@ import com.android.server.wm.flicker.entireScreenCovered
|
||||
import com.android.server.wm.flicker.helpers.FixedOrientationAppHelper
|
||||
import com.android.server.wm.flicker.helpers.WindowUtils
|
||||
import com.android.server.wm.flicker.junit.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.navBarLayerPositionAtStartAndEnd
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions.Pip.ACTION_ENTER_PIP
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions.PortraitOnlyActivity.EXTRA_FIXED_ORIENTATION
|
||||
import com.android.server.wm.traces.common.ComponentNameMatcher
|
||||
import com.android.server.wm.traces.common.service.PlatformConsts
|
||||
import com.android.wm.shell.flicker.pip.PipTransition.BroadcastActionTrigger.Companion.ORIENTATION_LANDSCAPE
|
||||
import com.android.wm.shell.flicker.pip.PipTransition.BroadcastActionTrigger.Companion.ORIENTATION_PORTRAIT
|
||||
@@ -115,14 +112,6 @@ class EnterPipToOtherOrientationTest(flicker: FlickerTest) : PipTransition(flick
|
||||
Assume.assumeFalse(tapl.isTablet)
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks that the [ComponentNameMatcher.NAV_BAR] has the correct position at the start and end
|
||||
* of the transition
|
||||
*/
|
||||
@FlakyTest
|
||||
@Test
|
||||
override fun navBarLayerPositionAtStartAndEnd() = flicker.navBarLayerPositionAtStartAndEnd()
|
||||
|
||||
/**
|
||||
* Checks that all parts of the screen are covered at the start and end of the transition
|
||||
*
|
||||
@@ -132,12 +121,6 @@ class EnterPipToOtherOrientationTest(flicker: FlickerTest) : PipTransition(flick
|
||||
@Test
|
||||
fun entireScreenCoveredAtStartAndEnd() = flicker.entireScreenCovered(allStates = false)
|
||||
|
||||
@FlakyTest(bugId = 251219769)
|
||||
@Test
|
||||
override fun entireScreenCovered() {
|
||||
super.entireScreenCovered()
|
||||
}
|
||||
|
||||
/** Checks [pipApp] window remains visible and on top throughout the transition */
|
||||
@Presubmit
|
||||
@Test
|
||||
|
||||
@@ -22,8 +22,10 @@ import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerBuilder
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
import com.android.server.wm.flicker.FlickerTestFactory
|
||||
import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled
|
||||
import com.android.server.wm.flicker.junit.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.traces.common.service.PlatformConsts
|
||||
import org.junit.Assume
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -74,10 +76,19 @@ class ExitPipViaExpandButtonClickTest(flicker: FlickerTest) : ExitPipToAppTransi
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Presubmit @Test override fun entireScreenCovered() = super.entireScreenCovered()
|
||||
@FlakyTest(bugId = 197726610)
|
||||
@Test
|
||||
override fun pipLayerExpands() {
|
||||
Assume.assumeFalse(isShellTransitionsEnabled)
|
||||
super.pipLayerExpands()
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@FlakyTest(bugId = 197726610) @Test override fun pipLayerExpands() = super.pipLayerExpands()
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerExpands_ShellTransit() {
|
||||
Assume.assumeTrue(isShellTransitionsEnabled)
|
||||
super.pipLayerExpands()
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerBuilder
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
@@ -62,7 +62,7 @@ class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flicker)
|
||||
* Checks that the pip app window remains inside the display bounds throughout the whole
|
||||
* animation
|
||||
*/
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipWindowRemainInsideVisibleBounds() {
|
||||
flicker.assertWmVisibleRegion(pipApp) { coversAtMost(displayBounds) }
|
||||
@@ -72,28 +72,28 @@ class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flicker)
|
||||
* Checks that the pip app layer remains inside the display bounds throughout the whole
|
||||
* animation
|
||||
*/
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerRemainInsideVisibleBounds() {
|
||||
flicker.assertLayersVisibleRegion(pipApp) { coversAtMost(displayBounds) }
|
||||
}
|
||||
|
||||
/** Checks [pipApp] window remains visible throughout the animation */
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipWindowIsAlwaysVisible() {
|
||||
flicker.assertWm { isAppWindowVisible(pipApp) }
|
||||
}
|
||||
|
||||
/** Checks [pipApp] layer remains visible throughout the animation */
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerIsAlwaysVisible() {
|
||||
flicker.assertLayers { isVisible(pipApp) }
|
||||
}
|
||||
|
||||
/** Checks that the visible region of [pipApp] always expands during the animation */
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerExpands() {
|
||||
flicker.assertLayers {
|
||||
@@ -104,7 +104,7 @@ class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flicker)
|
||||
}
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipSameAspectRatio() {
|
||||
flicker.assertLayers {
|
||||
@@ -116,92 +116,26 @@ class ExpandPipOnDoubleClickTest(flicker: FlickerTest) : PipTransition(flicker)
|
||||
}
|
||||
|
||||
/** Checks [pipApp] window remains pinned throughout the animation */
|
||||
@FlakyTest(bugId = 249308003)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun windowIsAlwaysPinned() {
|
||||
flicker.assertWm { this.invoke("hasPipWindow") { it.isPinned(pipApp) } }
|
||||
}
|
||||
|
||||
/** Checks [ComponentMatcher.LAUNCHER] layer remains visible throughout the animation */
|
||||
@FlakyTest(bugId = 249308003)
|
||||
/** Checks [ComponentNameMatcher.LAUNCHER] layer remains visible throughout the animation */
|
||||
@Presubmit
|
||||
@Test
|
||||
fun launcherIsAlwaysVisible() {
|
||||
flicker.assertLayers { isVisible(ComponentNameMatcher.LAUNCHER) }
|
||||
}
|
||||
|
||||
/** Checks that the focus doesn't change between windows during the transition */
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Presubmit
|
||||
@Test
|
||||
fun focusDoesNotChange() {
|
||||
flicker.assertEventLog { this.focusDoesNotChange() }
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun navBarLayerIsVisibleAtStartAndEnd() {
|
||||
super.navBarLayerIsVisibleAtStartAndEnd()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun navBarWindowIsAlwaysVisible() {
|
||||
super.navBarWindowIsAlwaysVisible()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun statusBarLayerIsVisibleAtStartAndEnd() {
|
||||
super.statusBarLayerIsVisibleAtStartAndEnd()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun statusBarLayerPositionAtStartAndEnd() {
|
||||
super.statusBarLayerPositionAtStartAndEnd()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun taskBarLayerIsVisibleAtStartAndEnd() {
|
||||
super.taskBarLayerIsVisibleAtStartAndEnd()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun taskBarWindowIsAlwaysVisible() {
|
||||
super.taskBarWindowIsAlwaysVisible()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun visibleLayersShownMoreThanOneConsecutiveEntry() {
|
||||
super.visibleLayersShownMoreThanOneConsecutiveEntry()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun statusBarWindowIsAlwaysVisible() {
|
||||
super.statusBarWindowIsAlwaysVisible()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun visibleWindowsShownMoreThanOneConsecutiveEntry() {
|
||||
super.visibleWindowsShownMoreThanOneConsecutiveEntry()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun entireScreenCovered() {
|
||||
super.entireScreenCovered()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 216306753)
|
||||
@Test
|
||||
override fun navBarLayerPositionAtStartAndEnd() {
|
||||
super.navBarLayerPositionAtStartAndEnd()
|
||||
}
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Creates the test configurations.
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.Postsubmit
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerBuilder
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
@@ -39,7 +39,7 @@ class ExpandPipOnPinchOpenTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
get() = buildTransition { transitions { pipApp.pinchOpenPipWindow(wmHelper, 0.4f, 30) } }
|
||||
|
||||
/** Checks that the visible region area of [pipApp] always increases during the animation. */
|
||||
@Postsubmit
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerAreaIncreases() {
|
||||
flicker.assertLayers {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.FlakyTest
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerBuilder
|
||||
@@ -24,11 +23,8 @@ import com.android.server.wm.flicker.FlickerTest
|
||||
import com.android.server.wm.flicker.FlickerTestFactory
|
||||
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.helpers.setRotation
|
||||
import com.android.server.wm.flicker.junit.FlickerParametersRunnerFactory
|
||||
import org.junit.Assume
|
||||
import org.junit.Before
|
||||
import org.junit.FixMethodOrder
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@@ -66,11 +62,6 @@ open class PipRotationTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
private val screenBoundsStart = WindowUtils.getDisplayBounds(flicker.scenario.startRotation)
|
||||
private val screenBoundsEnd = WindowUtils.getDisplayBounds(flicker.scenario.endRotation)
|
||||
|
||||
@Before
|
||||
open fun before() {
|
||||
Assume.assumeFalse(isShellTransitionsEnabled)
|
||||
}
|
||||
|
||||
override val transition: FlickerBuilder.() -> Unit
|
||||
get() = buildTransition {
|
||||
setup {
|
||||
@@ -80,11 +71,6 @@ open class PipRotationTest(flicker: FlickerTest) : PipTransition(flicker) {
|
||||
transitions { setRotation(flicker.scenario.endRotation) }
|
||||
}
|
||||
|
||||
/** Checks the position of the navigation bar at the start and end of the transition */
|
||||
@FlakyTest(bugId = 240499181)
|
||||
@Test
|
||||
override fun navBarLayerPositionAtStartAndEnd() = super.navBarLayerPositionAtStartAndEnd()
|
||||
|
||||
/** Checks that [testApp] layer is within [screenBoundsStart] at the start of the transition */
|
||||
@Presubmit
|
||||
@Test
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.wm.shell.flicker.pip
|
||||
|
||||
import android.platform.test.annotations.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled
|
||||
import com.android.server.wm.flicker.junit.FlickerParametersRunnerFactory
|
||||
import org.junit.Assume
|
||||
import org.junit.Before
|
||||
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 Stack in bounds after rotations.
|
||||
*
|
||||
* To run this test: `atest WMShellFlickerTests:PipRotationTest_ShellTransit`
|
||||
*
|
||||
* Actions:
|
||||
* ```
|
||||
* Launch a [pipApp] in pip mode
|
||||
* Launch another app [fixedApp] (appears below pip)
|
||||
* Rotate the screen from [flicker.scenario.startRotation] to [flicker.scenario.endRotation]
|
||||
* (usually, 0->90 and 90->0)
|
||||
* ```
|
||||
* Notes:
|
||||
* ```
|
||||
* 1. Some default assertions (e.g., nav bar, status bar and screen covered)
|
||||
* are inherited from [PipTransition]
|
||||
* 2. Part of the test setup occurs automatically via
|
||||
* [com.android.server.wm.flicker.TransitionRunnerWithRules],
|
||||
* including configuring navigation mode, initial orientation and ensuring no
|
||||
* apps are running before setup
|
||||
* ```
|
||||
*/
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 239575053)
|
||||
class PipRotationTest_ShellTransit(flicker: FlickerTest) : PipRotationTest(flicker) {
|
||||
@Before
|
||||
override fun before() {
|
||||
Assume.assumeTrue(isShellTransitionsEnabled)
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@FlakyTest
|
||||
@Test
|
||||
override fun navBarLayerPositionAtStartAndEnd() = super.navBarLayerPositionAtStartAndEnd()
|
||||
}
|
||||
@@ -25,7 +25,6 @@ import com.android.server.wm.flicker.FlickerBuilder
|
||||
import com.android.server.wm.flicker.FlickerTest
|
||||
import com.android.server.wm.flicker.FlickerTestFactory
|
||||
import com.android.server.wm.flicker.helpers.WindowUtils
|
||||
import com.android.server.wm.flicker.helpers.isShellTransitionsEnabled
|
||||
import com.android.server.wm.flicker.junit.FlickerParametersRunnerFactory
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions
|
||||
import com.android.server.wm.flicker.testapp.ActivityOptions.PortraitOnlyActivity.EXTRA_FIXED_ORIENTATION
|
||||
@@ -104,22 +103,6 @@ open class SetRequestedOrientationWhilePinnedTest(flicker: FlickerTest) : PipTra
|
||||
flicker.assertWmEnd { hasRotation(PlatformConsts.Rotation.ROTATION_90) }
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun navBarLayerIsVisibleAtStartAndEnd() = super.navBarLayerIsVisibleAtStartAndEnd()
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Presubmit
|
||||
@Test
|
||||
override fun statusBarLayerIsVisibleAtStartAndEnd() =
|
||||
super.statusBarLayerIsVisibleAtStartAndEnd()
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@FlakyTest
|
||||
@Test
|
||||
override fun navBarLayerPositionAtStartAndEnd() = super.navBarLayerPositionAtStartAndEnd()
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipWindowInsideDisplay() {
|
||||
@@ -132,22 +115,10 @@ open class SetRequestedOrientationWhilePinnedTest(flicker: FlickerTest) : PipTra
|
||||
flicker.assertWmEnd { isAppWindowOnTop(pipApp) }
|
||||
}
|
||||
|
||||
private fun pipLayerInsideDisplay_internal() {
|
||||
flicker.assertLayersStart { visibleRegion(pipApp).coversAtMost(startingBounds) }
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@Test
|
||||
fun pipLayerInsideDisplay() {
|
||||
Assume.assumeFalse(isShellTransitionsEnabled)
|
||||
pipLayerInsideDisplay_internal()
|
||||
}
|
||||
|
||||
@FlakyTest(bugId = 250527829)
|
||||
@Test
|
||||
fun pipLayerInsideDisplay_shellTransit() {
|
||||
Assume.assumeTrue(isShellTransitionsEnabled)
|
||||
pipLayerInsideDisplay_internal()
|
||||
flicker.assertLayersStart { visibleRegion(pipApp).coversAtMost(startingBounds) }
|
||||
}
|
||||
|
||||
@Presubmit
|
||||
@@ -173,7 +144,9 @@ open class SetRequestedOrientationWhilePinnedTest(flicker: FlickerTest) : PipTra
|
||||
override fun taskBarWindowIsAlwaysVisible() = super.taskBarWindowIsAlwaysVisible()
|
||||
|
||||
/** {@inheritDoc} */
|
||||
@Postsubmit @Test override fun entireScreenCovered() = super.entireScreenCovered()
|
||||
@FlakyTest(bugId = 264243884)
|
||||
@Test
|
||||
override fun entireScreenCovered() = super.entireScreenCovered()
|
||||
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
|
||||
Reference in New Issue
Block a user