diff options
| author | 2024-11-19 02:40:20 +0000 | |
|---|---|---|
| committer | 2024-11-19 02:40:20 +0000 | |
| commit | c2701705b16af19e0e528c0f3fed38432128d002 (patch) | |
| tree | 0d869a49c1940364d2ff07634287aaf0a58122a1 | |
| parent | c4eda6d15225844fcdd6a2ca343fbc75f188d9e4 (diff) | |
| parent | 20c6c55244b23478035a935cb3a7a043c5ea838c (diff) | |
Merge "Define a flicker test for no-desktop-task-limit" into main
2 files changed, 68 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt index 88dc5489b404..0cc8b0c7ba8d 100644 --- a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt +++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/DesktopModeFlickerScenarios.kt @@ -50,6 +50,7 @@ import android.tools.flicker.config.common.Components.LAUNCHER import android.tools.flicker.config.desktopmode.Components.DESKTOP_MODE_APP import android.tools.flicker.config.desktopmode.Components.DESKTOP_WALLPAPER import android.tools.flicker.config.desktopmode.Components.NON_RESIZABLE_APP +import android.tools.flicker.config.desktopmode.Components.SIMPLE_APP import android.tools.flicker.extractors.ITransitionMatcher import android.tools.flicker.extractors.ShellTransitionScenarioExtractor import android.tools.flicker.extractors.TaggedCujTransitionMatcher @@ -444,5 +445,25 @@ class DesktopModeFlickerScenarios { AppWindowOnTopAtEnd(LAUNCHER), ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }) ) + val OPEN_UNLIMITED_APPS = + FlickerConfigEntry( + scenarioId = ScenarioId("OPEN_UNLIMITED_APPS"), + extractor = + ShellTransitionScenarioExtractor( + transitionMatcher = + object : ITransitionMatcher { + override fun findAll( + transitions: Collection<Transition> + ): Collection<Transition> { + return transitions.filter { it.type == TransitionType.OPEN } + } + } + ), + assertions = + listOf( + AppWindowBecomesVisible(DESKTOP_MODE_APP), + AppWindowIsVisibleAlways(SIMPLE_APP) + ).associateBy({ it }, { AssertionInvocationGroup.BLOCKING }), + ) } } diff --git a/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/OpenUnlimitedApps.kt b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/OpenUnlimitedApps.kt new file mode 100644 index 000000000000..0a3984612987 --- /dev/null +++ b/libs/WindowManager/Shell/tests/e2e/desktopmode/flicker-service/src/com/android/wm/shell/flicker/OpenUnlimitedApps.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2024 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 + +import android.tools.flicker.FlickerConfig +import android.tools.flicker.annotation.ExpectedScenarios +import android.tools.flicker.annotation.FlickerConfigProvider +import android.tools.flicker.config.FlickerConfig +import android.tools.flicker.config.FlickerServiceConfig +import android.tools.flicker.junit.FlickerServiceJUnit4ClassRunner +import com.android.wm.shell.flicker.DesktopModeFlickerScenarios.Companion.OPEN_UNLIMITED_APPS +import com.android.wm.shell.scenarios.OpenUnlimitedApps +import org.junit.Test +import org.junit.runner.RunWith + +/** + * Open many apps on the device without the window limit. + * + * Assert that the desktop task limit is not triggered. + */ +@RunWith(FlickerServiceJUnit4ClassRunner::class) +class OpenUnlimitedApps : OpenUnlimitedApps() { + @ExpectedScenarios(["OPEN_UNLIMITED_APPS"]) + @Test + override fun openUnlimitedApps() = super.openUnlimitedApps() + + companion object { + @JvmStatic + @FlickerConfigProvider + fun flickerConfigProvider(): FlickerConfig = + FlickerConfig().use(FlickerServiceConfig.DEFAULT).use(OPEN_UNLIMITED_APPS) + } +} |