Fix PiP Flicker test transitions

Ensures we don't have no-op transitions anymore. Another change makes it
so we assert and fail if we have transitions we no entries to make sure
we don't fail silenetly in these cases.

Test: atest FlickerTests WmShellFlickerTests
Bug: 247464790
Change-Id: Iaad739c4bb869c51c6deee582ae5ff9c81013ea2
This commit is contained in:
Pablo Gamito
2022-09-19 09:05:32 +00:00
parent d6b0312115
commit c35d359131
9 changed files with 13 additions and 25 deletions

View File

@@ -30,7 +30,7 @@ import org.junit.Test
*/
abstract class ExitPipTransition(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = true) {
get() = buildTransition {
setup {
this.setRotation(testSpec.startRotation)
}

View File

@@ -62,7 +62,7 @@ class ExitPipViaExpandButtonClickTest(
* Defines the transition used to run the test
*/
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = true) {
get() = buildTransition {
setup {
// launch an app behind the pip one
testApp.launchViaIntent(wmHelper)

View File

@@ -62,7 +62,7 @@ class ExitPipViaIntentTest(testSpec: FlickerTestParameter) : ExitPipToAppTransit
* Defines the transition used to run the test
*/
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = true) {
get() = buildTransition {
setup {
// launch an app behind the pip one
testApp.launchViaIntent(wmHelper)

View File

@@ -56,7 +56,7 @@ import org.junit.runners.Parameterized
@Group3
class ExpandPipOnDoubleClickTest(testSpec: FlickerTestParameter) : PipTransition(testSpec) {
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = true) {
get() = buildTransition {
transitions {
pipApp.doubleClickPipWindow(wmHelper)
}

View File

@@ -60,14 +60,16 @@ open class MovePipDownShelfHeightChangeTest(
* Defines the transition used to run the test
*/
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = false) {
teardown {
get() = buildTransition() {
setup {
testApp.launchViaIntent(wmHelper)
testApp.exit(wmHelper)
}
transitions {
tapl.pressHome()
}
teardown {
testApp.exit(wmHelper)
}
}
override fun assertRegionMovement(previous: RegionSubject, current: RegionSubject) {

View File

@@ -68,7 +68,7 @@ class MovePipUpShelfHeightChangeTest(
* Defines the transition used to run the test
*/
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = false) {
get() = buildTransition {
teardown {
tapl.pressHome()
testApp.exit(wmHelper)

View File

@@ -56,7 +56,7 @@ open class PipKeyboardTest(testSpec: FlickerTestParameter) : PipTransition(testS
/** {@inheritDoc} */
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = false) {
get() = buildTransition {
setup {
imeApp.launchViaIntent(wmHelper)
setRotation(testSpec.startRotation)

View File

@@ -72,7 +72,7 @@ open class PipRotationTest(testSpec: FlickerTestParameter) : PipTransition(testS
}
override val transition: FlickerBuilder.() -> Unit
get() = buildTransition(eachRun = false) {
get() = buildTransition {
setup {
fixedApp.launchViaIntent(wmHelper)
setRotation(testSpec.startRotation)

View File

@@ -65,7 +65,6 @@ abstract class PipTransition(testSpec: FlickerTestParameter) : BaseTest(testSpec
*/
@JvmOverloads
protected open fun buildTransition(
eachRun: Boolean,
stringExtras: Map<String, String> = mapOf(Components.PipActivity.EXTRA_ENTER_PIP to "true"),
extraSpec: FlickerBuilder.() -> Unit = {}
): FlickerBuilder.() -> Unit {
@@ -73,25 +72,12 @@ abstract class PipTransition(testSpec: FlickerTestParameter) : BaseTest(testSpec
setup {
setRotation(Surface.ROTATION_0)
removeAllTasksButHome()
if (!eachRun) {
pipApp.launchViaIntentAndWaitForPip(wmHelper, stringExtras = stringExtras)
}
if (eachRun) {
pipApp.launchViaIntentAndWaitForPip(wmHelper, stringExtras = stringExtras)
}
pipApp.launchViaIntentAndWaitForPip(wmHelper, stringExtras = stringExtras)
}
teardown {
setRotation(Surface.ROTATION_0)
removeAllTasksButHome()
pipApp.exit(wmHelper)
if (eachRun) {
pipApp.exit(wmHelper)
}
if (!eachRun) {
pipApp.exit(wmHelper)
}
}
extraSpec(this)