Reduce flicker memory consumption (Pt 4)
Improve flicker memory consumption with the following: - Use a static factory for better compatibility with JUnit4 ParameterizedRunner - Ensure `cleanUp` is always called, even when an exception occurs Bug: 178572522 Test: atest FlickerTests WMShellFlickerTests Change-Id: Id9e539c0e8bce350f94811cab58a726e47aac525
This commit is contained in:
@@ -21,7 +21,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.os.SystemClock
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -46,10 +45,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class AppPairsTestCannotPairNonResizeableApps(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : AppPairsTransition(InstrumentationRegistry.getInstrumentation()) {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -83,9 +80,8 @@ class AppPairsTestCannotPairNonResizeableApps(
|
||||
}
|
||||
}
|
||||
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
repetitions = AppPairsHelper.TEST_REPETITIONS)
|
||||
.buildTest(transition, testSpec)
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
transition, testSpec, repetitions = AppPairsHelper.TEST_REPETITIONS)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21,13 +21,12 @@ import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
import com.android.server.wm.flicker.helpers.buildTestTag
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
import com.android.wm.shell.flicker.FlickerTestBase
|
||||
import com.android.wm.shell.flicker.FlickerTestBase.Companion.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.wm.shell.flicker.appPairsDividerIsVisible
|
||||
import com.android.wm.shell.flicker.helpers.AppPairsHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -44,10 +43,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class AppPairsTestPairPrimaryAndSecondaryApps(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : AppPairsTransition(InstrumentationRegistry.getInstrumentation()) {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -67,8 +64,7 @@ class AppPairsTestPairPrimaryAndSecondaryApps(
|
||||
layersTrace {
|
||||
appPairsDividerIsVisible()
|
||||
end("appsEndingBounds", enabled = false) {
|
||||
val dividerRegion = entry.getVisibleBounds(
|
||||
FlickerTestBase.APP_PAIR_SPLIT_DIVIDER)
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.hasVisibleRegion(primaryApp.defaultWindowName,
|
||||
appPairsHelper.getPrimaryBounds(dividerRegion))
|
||||
.hasVisibleRegion(secondaryApp.defaultWindowName,
|
||||
@@ -83,8 +79,8 @@ class AppPairsTestPairPrimaryAndSecondaryApps(
|
||||
}
|
||||
}
|
||||
}
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
repetitions = AppPairsHelper.TEST_REPETITIONS).buildTest(transition, testSpec)
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, transition,
|
||||
testSpec, repetitions = AppPairsHelper.TEST_REPETITIONS)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,13 +21,12 @@ import android.os.SystemClock
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
import com.android.server.wm.flicker.helpers.buildTestTag
|
||||
import com.android.server.wm.flicker.traces.layers.getVisibleBounds
|
||||
import com.android.wm.shell.flicker.FlickerTestBase
|
||||
import com.android.wm.shell.flicker.FlickerTestBase.Companion.APP_PAIR_SPLIT_DIVIDER
|
||||
import com.android.wm.shell.flicker.appPairsDividerIsInvisible
|
||||
import com.android.wm.shell.flicker.helpers.AppPairsHelper
|
||||
import org.junit.FixMethodOrder
|
||||
@@ -44,10 +43,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : AppPairsTransition(InstrumentationRegistry.getInstrumentation()) {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -72,8 +69,7 @@ class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
layersTrace {
|
||||
appPairsDividerIsInvisible()
|
||||
start("appsStartingBounds", enabled = false) {
|
||||
val dividerRegion = entry.getVisibleBounds(
|
||||
FlickerTestBase.APP_PAIR_SPLIT_DIVIDER)
|
||||
val dividerRegion = entry.getVisibleBounds(APP_PAIR_SPLIT_DIVIDER)
|
||||
this.hasVisibleRegion(primaryApp.defaultWindowName,
|
||||
appPairsHelper.getPrimaryBounds(dividerRegion))
|
||||
.hasVisibleRegion(secondaryApp.defaultWindowName,
|
||||
@@ -92,8 +88,8 @@ class AppPairsTestUnpairPrimaryAndSecondaryApps(
|
||||
}
|
||||
}
|
||||
}
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
repetitions = AppPairsHelper.TEST_REPETITIONS).buildTest(transition, testSpec)
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation, transition,
|
||||
testSpec, repetitions = AppPairsHelper.TEST_REPETITIONS)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -54,16 +53,13 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class RotateTwoLaunchedAppsInAppPairsMode(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : RotateTwoLaunchedAppsTransition(
|
||||
InstrumentationRegistry.getInstrumentation()) {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration ->
|
||||
withTestName {
|
||||
buildTestTag("testRotateTwoLaunchedAppsInAppPairsMode", configuration)
|
||||
@@ -96,10 +92,10 @@ class RotateTwoLaunchedAppsInAppPairsMode(
|
||||
}
|
||||
}
|
||||
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
transition, testSpec,
|
||||
repetitions = SplitScreenHelper.TEST_REPETITIONS,
|
||||
supportedRotations = listOf(Surface.ROTATION_90, Surface.ROTATION_270)
|
||||
).buildTest(transition, testSpec)
|
||||
supportedRotations = listOf(Surface.ROTATION_90, Surface.ROTATION_270))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -54,16 +53,13 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class RotateTwoLaunchedAppsRotateAndEnterAppPairsMode(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : RotateTwoLaunchedAppsTransition(
|
||||
InstrumentationRegistry.getInstrumentation()) {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration ->
|
||||
withTestName {
|
||||
buildTestTag("testRotateAndEnterAppPairsMode", configuration)
|
||||
@@ -96,10 +92,11 @@ class RotateTwoLaunchedAppsRotateAndEnterAppPairsMode(
|
||||
}
|
||||
}
|
||||
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
transition, testSpec,
|
||||
repetitions = SplitScreenHelper.TEST_REPETITIONS,
|
||||
supportedRotations = listOf(Surface.ROTATION_90, Surface.ROTATION_270)
|
||||
).buildTest(transition, testSpec)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -48,10 +47,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ExitLegacySplitScreenFromBottomTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -59,9 +56,9 @@ class ExitLegacySplitScreenFromBottomTest(
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val splitScreenApp = SplitScreenHelper.getPrimary(instrumentation)
|
||||
// TODO(b/162923992) Use of multiple segments of flicker spec for testing
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
listOf(Surface.ROTATION_0, Surface.ROTATION_90))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0, Surface.ROTATION_90)) {
|
||||
configuration ->
|
||||
withTestName {
|
||||
buildTestTag("exitSplitScreenFromBottom", configuration)
|
||||
}
|
||||
@@ -87,6 +84,11 @@ class ExitLegacySplitScreenFromBottomTest(
|
||||
transitions {
|
||||
device.exitSplitScreenFromBottom()
|
||||
}
|
||||
assertions {
|
||||
windowManagerTrace {
|
||||
all("isNotEmpty") { isNotEmpty() }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.support.test.launcherhelper.LauncherStrategyFactory
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -60,10 +59,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class LegacySplitScreenToLauncherTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -74,8 +71,8 @@ class LegacySplitScreenToLauncherTest(
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
|
||||
// b/161435597 causes the test not to work on 90 degrees
|
||||
return FlickerTestRunnerFactory(instrumentation, listOf(Surface.ROTATION_0))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0)) { configuration ->
|
||||
withTestName {
|
||||
buildTestTag("splitScreenToLauncher", configuration)
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.uiautomator.By
|
||||
import com.android.server.wm.flicker.DOCKED_STACK_DIVIDER
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -69,10 +68,8 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 159096424)
|
||||
class ResizeLegacySplitScreenTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
private const val sSimpleActivity = "SimpleActivity"
|
||||
private const val sImeActivity = "ImeActivity"
|
||||
@@ -86,9 +83,8 @@ class ResizeLegacySplitScreenTest(
|
||||
val testAppTop = SimpleAppHelper(instrumentation)
|
||||
val testAppBottom = ImeAppHelper(instrumentation)
|
||||
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0)) { configuration ->
|
||||
withTestName {
|
||||
val description = (startRatio.toString().replace("/", "-") + "_to_" +
|
||||
stopRatio.toString().replace("/", "-"))
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.buildTestTag
|
||||
@@ -53,19 +52,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 152738416)
|
||||
class EnterPipTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = PipAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0)) { configuration ->
|
||||
withTestName { buildTestTag("enterPip", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -54,10 +53,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class PipRotationTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
@@ -65,9 +62,9 @@ class PipRotationTest(
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = FixedAppHelper(instrumentation)
|
||||
val pipApp = PipAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation,
|
||||
listOf(Surface.ROTATION_0, Surface.ROTATION_90))
|
||||
.buildRotationTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildRotationTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0, Surface.ROTATION_90)) {
|
||||
configuration ->
|
||||
withTestName { buildTestTag("PipRotationTest", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.focusChanges
|
||||
@@ -54,18 +53,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 152738416)
|
||||
class PipToAppTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = PipAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, listOf(Surface.ROTATION_0))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0)) { configuration ->
|
||||
withTestName { buildTestTag("exitPipModeToApp", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.view.Surface
|
||||
import androidx.test.filters.FlakyTest
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.focusChanges
|
||||
@@ -53,18 +52,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 152738416)
|
||||
class PipToHomeTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = PipAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, listOf(Surface.ROTATION_0))
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance().buildTest(instrumentation,
|
||||
supportedRotations = listOf(Surface.ROTATION_0)) { configuration ->
|
||||
withTestName { buildTestTag("exitPipModeToApp", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
@@ -56,18 +55,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseAppBackButtonTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("closeAppBackButton", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.helpers.SimpleAppHelper
|
||||
@@ -55,18 +54,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseAppHomeButtonTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("closeAppHomeButton", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper
|
||||
@@ -55,18 +54,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 178015460)
|
||||
class CloseImeAutoOpenWindowToAppTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
val testApp = ImeAppAutoFocusHelper(instrumentation,
|
||||
configuration.startRotation)
|
||||
withTestName { buildTestTag("imeToAppAutoOpen", configuration) }
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper
|
||||
@@ -53,18 +52,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class CloseImeAutoOpenWindowToHomeTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
val testApp = ImeAppAutoFocusHelper(instrumentation,
|
||||
configuration.startRotation)
|
||||
withTestName {
|
||||
@@ -114,7 +111,8 @@ class CloseImeAutoOpenWindowToHomeTest(
|
||||
enabled = !configuration.startRotation.isRotated())
|
||||
statusBarLayerIsAlwaysVisible(
|
||||
enabled = !configuration.startRotation.isRotated())
|
||||
visibleLayersShownMoreThanOneConsecutiveEntry(listOf(IME_WINDOW_TITLE))
|
||||
visibleLayersShownMoreThanOneConsecutiveEntry(listOf(IME_WINDOW_TITLE),
|
||||
enabled = !configuration.startRotation.isRotated())
|
||||
|
||||
imeLayerBecomesInvisible()
|
||||
imeAppLayerBecomesInvisible(testApp)
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppHelper
|
||||
@@ -54,10 +53,8 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 178015460)
|
||||
class CloseImeWindowToAppTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@@ -65,8 +62,8 @@ class CloseImeWindowToAppTest(
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = ImeAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("imeToApp", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppHelper
|
||||
@@ -54,18 +53,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 178015460)
|
||||
class CloseImeWindowToHomeTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = ImeAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("imeToHome", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -21,7 +21,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppHelper
|
||||
@@ -57,18 +56,16 @@ import org.junit.runners.Parameterized
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
@FlakyTest(bugId = 178015460)
|
||||
class OpenImeWindowTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = ImeAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("openIme", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.helpers.ImeAppAutoFocusHelper
|
||||
@@ -58,18 +57,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ReOpenImeWindowTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testAppComponentName = ActivityOptions.IME_ACTIVITY_AUTO_FOCUS_COMPONENT_NAME
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 1)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 1) { configuration ->
|
||||
val testApp = ImeAppAutoFocusHelper(instrumentation,
|
||||
configuration.startRotation)
|
||||
withTestName { buildTestTag("reOpenImeAutoFocus", configuration) }
|
||||
@@ -90,7 +87,6 @@ class ReOpenImeWindowTest(
|
||||
transitions {
|
||||
device.reopenAppFromOverview()
|
||||
wmHelper.waitImeWindowShown()
|
||||
// wmHelper.waitForFullScreenApp(testAppComponentName)
|
||||
}
|
||||
teardown {
|
||||
test {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -57,18 +56,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class OpenAppColdTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation) { configuration ->
|
||||
withTestName { buildTestTag("openAppCold", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -58,18 +57,16 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class OpenAppFromOverviewTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation, repetitions = 5) { configuration ->
|
||||
withTestName { buildTestTag("openAppFromOverview", configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
@@ -118,7 +115,7 @@ class OpenAppFromOverviewTest(
|
||||
navBarLayerIsAlwaysVisible(
|
||||
enabled = Surface.ROTATION_0 == configuration.endRotation)
|
||||
visibleLayersShownMoreThanOneConsecutiveEntry(
|
||||
enabled = Surface.ROTATION_0 == configuration.endRotation)
|
||||
enabled = false)
|
||||
|
||||
appLayerReplacesWallpaperLayer(testApp.`package`)
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.platform.test.annotations.Presubmit
|
||||
import android.view.Surface
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -56,19 +55,15 @@ import org.junit.runners.Parameterized
|
||||
@RequiresDevice
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class OpenAppWarmTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
class OpenAppWarmTest(testSpec: FlickerTestRunnerFactory.TestSpec) : FlickerTestRunner(testSpec) {
|
||||
companion object {
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): List<Array<Any>> {
|
||||
val instrumentation = InstrumentationRegistry.getInstrumentation()
|
||||
val testApp = SimpleAppHelper(instrumentation)
|
||||
return FlickerTestRunnerFactory(instrumentation)
|
||||
.buildTest { configuration ->
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildTest(instrumentation) { configuration ->
|
||||
withTestName { buildTestTag("openAppWarm", testApp, configuration) }
|
||||
repeat { configuration.repetitions }
|
||||
setup {
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.dsl.FlickerBuilder
|
||||
@@ -54,10 +53,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class ChangeAppRotationTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : RotationTransition(InstrumentationRegistry.getInstrumentation()) {
|
||||
override val testApp: StandardAppHelper
|
||||
get() = SimpleAppHelper(instrumentation)
|
||||
@@ -66,7 +63,7 @@ class ChangeAppRotationTest(
|
||||
|
||||
private const val SCREENSHOT_LAYER = "RotationLayer"
|
||||
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@Parameterized.Parameters(name = "{0}1}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<Array<Any>> {
|
||||
val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration ->
|
||||
@@ -119,8 +116,8 @@ class ChangeAppRotationTest(
|
||||
}
|
||||
}
|
||||
|
||||
return FlickerTestRunnerFactory(instrumentation, repetitions = 5)
|
||||
.buildRotationTest(transition, testSpec)
|
||||
return FlickerTestRunnerFactory.getInstance()
|
||||
.buildRotationTest(instrumentation, transition, testSpec, repetitions = 5)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,6 @@ import android.os.Bundle
|
||||
import android.platform.test.annotations.Presubmit
|
||||
import androidx.test.filters.RequiresDevice
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import com.android.server.wm.flicker.Flicker
|
||||
import com.android.server.wm.flicker.FlickerTestRunner
|
||||
import com.android.server.wm.flicker.FlickerTestRunnerFactory
|
||||
import com.android.server.wm.flicker.endRotation
|
||||
@@ -32,7 +31,6 @@ import com.android.server.wm.flicker.helpers.StandardAppHelper
|
||||
import com.android.server.wm.flicker.layerAlwaysVisible
|
||||
import com.android.server.wm.flicker.helpers.WindowUtils
|
||||
import com.android.server.wm.flicker.helpers.buildTestTag
|
||||
import com.android.server.wm.flicker.helpers.isRotated
|
||||
import com.android.server.wm.flicker.navBarLayerIsAlwaysVisible
|
||||
import com.android.server.wm.flicker.navBarLayerRotatesAndScales
|
||||
import com.android.server.wm.flicker.navBarWindowIsAlwaysVisible
|
||||
@@ -58,10 +56,8 @@ import org.junit.runners.Parameterized
|
||||
@RunWith(Parameterized::class)
|
||||
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
|
||||
class SeamlessAppRotationTest(
|
||||
testName: String,
|
||||
flickerProvider: () -> Flicker,
|
||||
cleanUp: Boolean
|
||||
) : FlickerTestRunner(testName, flickerProvider, cleanUp) {
|
||||
testSpec: FlickerTestRunnerFactory.TestSpec
|
||||
) : FlickerTestRunner(testSpec) {
|
||||
companion object : RotationTransition(InstrumentationRegistry.getInstrumentation()) {
|
||||
override val testApp: StandardAppHelper
|
||||
get() = SeamlessRotationAppHelper(instrumentation)
|
||||
@@ -70,6 +66,8 @@ class SeamlessAppRotationTest(
|
||||
ActivityOptions.EXTRA_STARVE_UI_THREAD to configuration.starveUiThread.toString()
|
||||
)
|
||||
|
||||
private val testFactory = FlickerTestRunnerFactory.getInstance()
|
||||
|
||||
private val Bundle.starveUiThread
|
||||
get() = this.getBoolean(ActivityOptions.EXTRA_STARVE_UI_THREAD, false)
|
||||
|
||||
@@ -80,8 +78,8 @@ class SeamlessAppRotationTest(
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
private fun FlickerTestRunnerFactory.getConfigurations(): List<Bundle> {
|
||||
return this.getConfigRotationTests().flatMap {
|
||||
private fun getConfigurations(): List<Bundle> {
|
||||
return testFactory.getConfigRotationTests().flatMap {
|
||||
val defaultRun = it.createConfig(starveUiThread = false)
|
||||
val busyUiRun = it.createConfig(starveUiThread = true)
|
||||
listOf(defaultRun, busyUiRun)
|
||||
@@ -91,8 +89,7 @@ class SeamlessAppRotationTest(
|
||||
@Parameterized.Parameters(name = "{0}")
|
||||
@JvmStatic
|
||||
fun getParams(): Collection<Array<Any>> {
|
||||
val factory = FlickerTestRunnerFactory(instrumentation, repetitions = 2)
|
||||
val configurations = factory.getConfigurations()
|
||||
val configurations = getConfigurations()
|
||||
val testSpec: FlickerBuilder.(Bundle) -> Unit = { configuration ->
|
||||
withTestName {
|
||||
val extra = if (configuration.starveUiThread) {
|
||||
@@ -161,7 +158,8 @@ class SeamlessAppRotationTest(
|
||||
}
|
||||
}
|
||||
|
||||
return factory.buildRotationTest(transition, testSpec, configurations)
|
||||
return testFactory.buildRotationTest(instrumentation, transition, testSpec,
|
||||
deviceConfigurations = configurations, repetitions = 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user