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",
srcs: [
"src/**/activityembedding/*.kt",
"src/**/activityembedding/open/*.kt",
"src/**/activityembedding/close/*.kt",
"src/**/activityembedding/rotation/*.kt",
],
@@ -149,6 +150,9 @@ android_test {
":FlickerTestsBase-src",
":FlickerTestsAppLaunch-src",
],
exclude_srcs: [
":FlickerTestsActivityEmbedding-src",
],
}
android_test {

View File

@@ -14,7 +14,7 @@
* 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.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.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder
import org.junit.Test

View File

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

View File

@@ -14,7 +14,7 @@
* 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.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.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder
import org.junit.Test

View File

@@ -14,7 +14,7 @@
* 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.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.LegacyFlickerTestFactory
import androidx.test.filters.RequiresDevice
import com.android.server.wm.flicker.activityembedding.ActivityEmbeddingTestBase
import com.android.server.wm.flicker.helpers.ActivityEmbeddingAppHelper
import org.junit.FixMethodOrder
import org.junit.Test

View File

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

View File

@@ -14,7 +14,7 @@
* 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.tools.common.traces.component.ComponentNameMatcher

View File

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

View File

@@ -20,8 +20,8 @@ import android.platform.test.annotations.FlakyTest
import android.platform.test.annotations.Presubmit
import android.tools.common.NavBar
import android.tools.common.Rotation
import android.tools.common.traces.component.ComponentNameMatcher
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.legacy.LegacyFlickerTest
import android.tools.device.flicker.legacy.LegacyFlickerTestFactory