Merge "Disable flaky activity embedding tests Test: atest FlickerTestsOther Bug: 286952194" into udc-qpr-dev

This commit is contained in:
Nataniel Borges
2023-07-05 15:57:42 +00:00
committed by Android (Google) Code Review
9 changed files with 72 additions and 76 deletions

View File

@@ -37,6 +37,7 @@ filegroup {
name: "FlickerTestsActivityEmbedding-src", name: "FlickerTestsActivityEmbedding-src",
srcs: [ srcs: [
"src/**/activityembedding/*.kt", "src/**/activityembedding/*.kt",
"src/**/activityembedding/open/*.kt",
"src/**/activityembedding/close/*.kt", "src/**/activityembedding/close/*.kt",
"src/**/activityembedding/rotation/*.kt", "src/**/activityembedding/rotation/*.kt",
], ],
@@ -149,6 +150,9 @@ android_test {
":FlickerTestsBase-src", ":FlickerTestsBase-src",
":FlickerTestsAppLaunch-src", ":FlickerTestsAppLaunch-src",
], ],
exclude_srcs: [
":FlickerTestsActivityEmbedding-src",
],
} }
android_test { android_test {

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.close
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.common.datatypes.Rect import android.tools.common.datatypes.Rect
@@ -24,6 +24,7 @@ import android.tools.device.flicker.legacy.FlickerBuilder
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Test import org.junit.Test

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.open
import android.platform.test.annotations.FlakyTest import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
@@ -24,8 +24,10 @@ import android.tools.device.flicker.legacy.FlickerBuilder
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Ignore
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.junit.runners.MethodSorters import org.junit.runners.MethodSorters
@@ -54,7 +56,7 @@ class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest
testApp.launchViaIntent(wmHelper) testApp.launchViaIntent(wmHelper)
testApp.launchSecondaryActivity(wmHelper) testApp.launchSecondaryActivity(wmHelper)
startDisplayBounds = startDisplayBounds =
wmHelper.currentState.layerState.physicalDisplayBounds ?: error("Display not found") wmHelper.currentState.layerState.physicalDisplayBounds ?: error("Display not found")
} }
transitions { transitions {
// Launch C with alwaysExpand // Launch C with alwaysExpand
@@ -66,23 +68,14 @@ class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest
} }
} }
@FlakyTest(bugId = 286952194) @Ignore("Not applicable to this CUJ.") override fun navBarWindowIsVisibleAtStartAndEnd() {}
@Presubmit
@Test
override fun navBarWindowIsVisibleAtStartAndEnd() {}
@FlakyTest(bugId = 286952194) @Ignore("Not applicable to this CUJ.") override fun statusBarWindowIsAlwaysVisible() {}
@Presubmit
@Test
override fun statusBarWindowIsAlwaysVisible() {}
@FlakyTest(bugId = 286952194) @Ignore("Not applicable to this CUJ.") override fun statusBarLayerPositionAtStartAndEnd() {}
@Presubmit
@Test
override fun statusBarLayerPositionAtStartAndEnd() {}
/** Transition begins with a split. */ /** Transition begins with a split. */
@Presubmit @FlakyTest(bugId = 286952194)
@Test @Test
fun startsWithSplit() { fun startsWithSplit() {
flicker.assertWmStart { flicker.assertWmStart {
@@ -94,7 +87,7 @@ class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest
} }
/** Main activity should become invisible after being covered by always expand activity. */ /** Main activity should become invisible after being covered by always expand activity. */
@Presubmit @FlakyTest(bugId = 286952194)
@Test @Test
fun mainActivityLayerBecomesInvisible() { fun mainActivityLayerBecomesInvisible() {
flicker.assertLayers { flicker.assertLayers {
@@ -105,7 +98,7 @@ class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest
} }
/** Secondary activity should become invisible after being covered by always expand activity. */ /** Secondary activity should become invisible after being covered by always expand activity. */
@Presubmit @FlakyTest(bugId = 286952194)
@Test @Test
fun secondaryActivityLayerBecomesInvisible() { fun secondaryActivityLayerBecomesInvisible() {
flicker.assertLayers { flicker.assertLayers {
@@ -116,7 +109,7 @@ class MainActivityStartsSecondaryWithAlwaysExpandTest(flicker: LegacyFlickerTest
} }
/** At the end of transition always expand activity is in fullscreen. */ /** At the end of transition always expand activity is in fullscreen. */
@Presubmit @FlakyTest(bugId = 286952194)
@Test @Test
fun endsWithAlwaysExpandActivityCoveringFullScreen() { fun endsWithAlwaysExpandActivityCoveringFullScreen() {
flicker.assertWmEnd { flicker.assertWmEnd {

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.open
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
@@ -22,6 +22,7 @@ import android.tools.device.flicker.legacy.FlickerBuilder
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Test import org.junit.Test

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.open
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.common.traces.component.ComponentNameMatcher import android.tools.common.traces.component.ComponentNameMatcher
@@ -23,6 +23,7 @@ import android.tools.device.flicker.legacy.FlickerBuilder
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Test import org.junit.Test

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.open
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.common.datatypes.Rect import android.tools.common.datatypes.Rect
@@ -24,6 +24,7 @@ import android.tools.device.flicker.legacy.FlickerBuilder
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder import org.junit.FixMethodOrder
import org.junit.Test import org.junit.Test
@@ -32,8 +33,8 @@ import org.junit.runners.MethodSorters
import org.junit.runners.Parameterized import org.junit.runners.Parameterized
/** /**
* Test launching a secondary activity over an existing split. By default the new secondary * Test launching a secondary activity over an existing split. By default the new secondary activity
* activity will stack over the previous secondary activity. * will stack over the previous secondary activity.
* *
* Setup: From Activity A launch a split A|B. * Setup: From Activity A launch a split A|B.
* *
@@ -45,8 +46,8 @@ import org.junit.runners.Parameterized
@RunWith(Parameterized::class) @RunWith(Parameterized::class)
@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING) @FixMethodOrder(MethodSorters.NAME_ASCENDING)
class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) : class OpenThirdActivityOverSplitTest(flicker: LegacyFlickerTest) :
ActivityEmbeddingTestBase(flicker) { ActivityEmbeddingTestBase(flicker) {
/** {@inheritDoc} */ /** {@inheritDoc} */
override val transition: FlickerBuilder.() -> Unit = { override val transition: FlickerBuilder.() -> Unit = {
setup { setup {
@@ -56,12 +57,10 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
testApp.launchSecondaryActivity(wmHelper) testApp.launchSecondaryActivity(wmHelper)
startDisplayBounds = startDisplayBounds =
wmHelper.currentState.layerState.physicalDisplayBounds wmHelper.currentState.layerState.physicalDisplayBounds
?: error("Can't get display bounds") ?: error("Can't get display bounds")
}
transitions {
testApp.launchThirdActivity(wmHelper)
} }
transitions { testApp.launchThirdActivity(wmHelper) }
teardown { teardown {
tapl.goHome() tapl.goHome()
testApp.exit(wmHelper) testApp.exit(wmHelper)
@@ -79,36 +78,33 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
@Presubmit @Presubmit
@Test @Test
fun mainActivityLayersAlwaysVisible() { fun mainActivityLayersAlwaysVisible() {
flicker.assertLayers { flicker.assertLayers { isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) }
isVisible(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
}
flicker.assertLayersStart { flicker.assertLayersStart {
val display = this.entry.displays.firstOrNull { it.isOn && !it.isVirtual } val display =
this.entry.displays.firstOrNull { it.isOn && !it.isVirtual }
?: error("No non-virtual and on display found") ?: error("No non-virtual and on display found")
val mainActivityRegion = val mainActivityRegion =
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
val secondaryActivityRegion = val secondaryActivityRegion =
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT).region
.region mainActivityRegion.plus(secondaryActivityRegion).coversExactly(display.layerStackSpace)
mainActivityRegion
.plus(secondaryActivityRegion)
.coversExactly(display.layerStackSpace)
} }
flicker.assertLayersEnd { flicker.assertLayersEnd {
val display = this.entry.displays.firstOrNull { it.isOn && !it.isVirtual } val display =
this.entry.displays.firstOrNull { it.isOn && !it.isVirtual }
?: error("No non-virtual and on display found") ?: error("No non-virtual and on display found")
val mainActivityRegion = val mainActivityRegion =
this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT) this.visibleRegion(ActivityEmbeddingAppHelper.MAIN_ACTIVITY_COMPONENT)
val secondaryActivityRegion = val secondaryActivityRegion =
this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) this.visibleRegion(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
secondaryActivityRegion.isEmpty() secondaryActivityRegion.isEmpty()
val thirdActivityRegion = val thirdActivityRegion =
this.visibleRegion(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) this.visibleRegion(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
mainActivityRegion mainActivityRegion
.plus(thirdActivityRegion.region) .plus(thirdActivityRegion.region)
.coversExactly(display.layerStackSpace) .coversExactly(display.layerStackSpace)
} }
} }
@@ -118,13 +114,15 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
fun thirdActivityWindowLaunchesIntoSplit() { fun thirdActivityWindowLaunchesIntoSplit() {
flicker.assertWm { flicker.assertWm {
isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
.isAppWindowInvisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isAppWindowInvisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.then() .then()
.isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) .isAppWindowVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
.isAppWindowVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isAppWindowVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.then() .then()
.isAppWindowVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isAppWindowVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.isAppWindowInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) // expectation .isAppWindowInvisible(
ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT
) // expectation
} }
} }
@@ -134,13 +132,13 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
fun thirdActivityLayerLaunchesIntoSplit() { fun thirdActivityLayerLaunchesIntoSplit() {
flicker.assertLayers { flicker.assertLayers {
isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
.isInvisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isInvisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.then() .then()
.isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) .isVisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
.isVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.then() .then()
.isVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT) .isVisible(ActivityEmbeddingAppHelper.THIRD_ACTIVITY_COMPONENT)
.isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT) .isInvisible(ActivityEmbeddingAppHelper.SECONDARY_ACTIVITY_COMPONENT)
} }
} }
@@ -149,9 +147,7 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
@Test @Test
fun backgroundLayerNeverVisible() { fun backgroundLayerNeverVisible() {
val backgroundColorLayer = ComponentNameMatcher("", "Animation Background") val backgroundColorLayer = ComponentNameMatcher("", "Animation Background")
flicker.assertLayers { flicker.assertLayers { isInvisible(backgroundColorLayer) }
isInvisible(backgroundColorLayer)
}
} }
companion object { companion object {
@@ -167,4 +163,4 @@ class OpenThirdActivityOverSplitTest (flicker: LegacyFlickerTest) :
@JvmStatic @JvmStatic
fun getParams() = LegacyFlickerTestFactory.nonRotationTests() fun getParams() = LegacyFlickerTestFactory.nonRotationTests()
} }
} }

View File

@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package com.android.server.wm.flicker.activityembedding package com.android.server.wm.flicker.activityembedding.rotation
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.common.traces.component.ComponentNameMatcher import android.tools.common.traces.component.ComponentNameMatcher

View File

@@ -62,18 +62,18 @@ constructor(
/** Clicks the button to launch a third activity over a secondary activity. */ /** Clicks the button to launch a third activity over a secondary activity. */
fun launchThirdActivity(wmHelper: WindowManagerStateHelper) { fun launchThirdActivity(wmHelper: WindowManagerStateHelper) {
val launchButton = val launchButton =
uiDevice.wait( uiDevice.wait(
Until.findObject(By.res(getPackage(), "launch_third_activity_button")), Until.findObject(By.res(getPackage(), "launch_third_activity_button")),
FIND_TIMEOUT FIND_TIMEOUT
) )
require(launchButton != null) { "Can't find launch third activity button on screen." } require(launchButton != null) { "Can't find launch third activity button on screen." }
launchButton.click() launchButton.click()
wmHelper wmHelper
.StateSyncBuilder() .StateSyncBuilder()
.withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED) .withActivityState(MAIN_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
.withActivityState(SECONDARY_ACTIVITY_COMPONENT, PlatformConsts.STATE_STOPPED) .withActivityState(SECONDARY_ACTIVITY_COMPONENT, PlatformConsts.STATE_STOPPED)
.withActivityState(THIRD_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED) .withActivityState(THIRD_ACTIVITY_COMPONENT, PlatformConsts.STATE_RESUMED)
.waitForAndVerify() .waitForAndVerify()
} }
/** /**

View File

@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Presubmit import android.platform.test.annotations.Presubmit
import android.tools.common.NavBar import android.tools.common.NavBar
import android.tools.common.Rotation import android.tools.common.Rotation
import android.tools.common.traces.component.ComponentNameMatcher
import android.tools.common.flicker.annotation.FlickerServiceCompatible import android.tools.common.flicker.annotation.FlickerServiceCompatible
import android.tools.common.traces.component.ComponentNameMatcher
import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.junit.FlickerParametersRunnerFactory
import android.tools.device.flicker.legacy.LegacyFlickerTest import android.tools.device.flicker.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory import android.tools.device.flicker.legacy.LegacyFlickerTestFactory