diff options
| author | 2023-10-25 20:52:54 +0000 | |
|---|---|---|
| committer | 2023-10-29 22:15:08 +0000 | |
| commit | 0288c39cc146e589f265d189a131db7bfa2a736b (patch) | |
| tree | a543bb4eeb003e8554389aecf27c45128aa34bf1 | |
| parent | 0e92f892cb6cfbbd85b3ab62982c193e8dca67a1 (diff) | |
Add CSuite target for 1p/3p apps pip flicker tests
Bug: 302034872
Test: csuite-tradefed run commandAndExit csuite-1p3p-pip-flickers --enable-module-dynamic-download --dynamic-download-args pstash:json-credentials-file=/google/data/ro/teams/app-compatibility/test-resources/config/google.com_mobileharness-0e27cf90c7cb.json --package WMShellFlickerTestsPipApps
Flag: NONE, new test configuration
Change-Id: Ia94f9733ef9d0126b83e6a003c8a9aa05bb08988
| -rw-r--r-- | libs/WindowManager/Shell/tests/flicker/Android.bp | 31 | ||||
| -rw-r--r-- | libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml | 121 |
2 files changed, 150 insertions, 2 deletions
diff --git a/libs/WindowManager/Shell/tests/flicker/Android.bp b/libs/WindowManager/Shell/tests/flicker/Android.bp index acfb259d7359..bd2eb5b4a8ae 100644 --- a/libs/WindowManager/Shell/tests/flicker/Android.bp +++ b/libs/WindowManager/Shell/tests/flicker/Android.bp @@ -153,9 +153,8 @@ java_library { } java_defaults { - name: "WMShellFlickerTestsDefault", + name: "WMShellFlickerTestsDefaultWithoutTemplate", manifest: "manifests/AndroidManifest.xml", - test_config_template: "AndroidTestTemplate.xml", platform_apis: true, certificate: "platform", optimize: { @@ -182,6 +181,12 @@ java_defaults { ], } +java_defaults { + name: "WMShellFlickerTestsDefault", + defaults: ["WMShellFlickerTestsDefaultWithoutTemplate"], + test_config_template: "AndroidTestTemplate.xml", +} + android_test { name: "WMShellFlickerTestsOther", defaults: ["WMShellFlickerTestsDefault"], @@ -276,6 +281,23 @@ android_test { } android_test { + name: "WMShellFlickerTestsPipAppsCSuite", + defaults: ["WMShellFlickerTestsDefaultWithoutTemplate"], + additional_manifests: ["manifests/AndroidManifestPip.xml"], + package_name: "com.android.wm.shell.flicker.pip.apps", + instrumentation_target_package: "com.android.wm.shell.flicker.pip.apps", + srcs: [ + ":WMShellFlickerTestsBase-src", + ":WMShellFlickerTestsPipApps-src", + ":WMShellFlickerTestsPipCommon-src", + ], + test_suites: [ + "device-tests", + "csuite", + ], +} + +android_test { name: "WMShellFlickerTestsSplitScreenGroup1", defaults: ["WMShellFlickerTestsDefault"], additional_manifests: ["manifests/AndroidManifestSplitScreen.xml"], @@ -327,3 +349,8 @@ android_test { ":WMShellFlickerServicePlatinumTests-src", ], } + +csuite_test { + name: "csuite-1p3p-pip-flickers", + test_config_template: "csuiteDefaultTemplate.xml", +} diff --git a/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml b/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml new file mode 100644 index 000000000000..ca182fa5a266 --- /dev/null +++ b/libs/WindowManager/Shell/tests/flicker/csuiteDefaultTemplate.xml @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2023 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. + --> +<configuration description="Runs WindowManager Shell Flicker Tests WMShellFlickerTestsPipAppsCSuite"> + <option name="test-tag" value="FlickerTests"/> + <!-- Needed for storing the perfetto trace files in the sdcard/test_results--> + <option name="isolated-storage" value="false"/> + + <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> + <!-- keeps the screen on during tests --> + <option name="screen-always-on" value="on"/> + <!-- prevents the phone from restarting --> + <option name="force-skip-system-props" value="true"/> + <!-- set WM tracing verbose level to all --> + <option name="run-command" value="cmd window tracing level all"/> + <!-- set WM tracing to frame (avoid incomplete states) --> + <option name="run-command" value="cmd window tracing frame"/> + <!-- disable betterbug as it's log collection dialogues cause flakes in e2e tests --> + <option name="run-command" value="pm disable com.google.android.internal.betterbug"/> + <!-- ensure lock screen mode is swipe --> + <option name="run-command" value="locksettings set-disabled false"/> + <!-- restart launcher to activate TAPL --> + <option name="run-command" + value="setprop ro.test_harness 1 ; am force-stop com.google.android.apps.nexuslauncher"/> + <!-- Increase trace size: 20mb for WM and 80mb for SF --> + <option name="run-command" value="cmd window tracing size 20480"/> + <option name="run-command" value="su root service call SurfaceFlinger 1029 i32 81920"/> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> + <option name="test-user-token" value="%TEST_USER%"/> + <option name="run-command" value="rm -rf /data/user/%TEST_USER%/files/*"/> + <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1"/> + <option name="run-command" value="settings put system show_touches 1"/> + <option name="run-command" value="settings put system pointer_location 1"/> + <option name="teardown-command" + value="settings delete secure show_ime_with_hard_keyboard"/> + <option name="teardown-command" value="settings delete system show_touches"/> + <option name="teardown-command" value="settings delete system pointer_location"/> + <option name="teardown-command" + value="cmd overlay enable com.android.internal.systemui.navbar.gestural"/> + </target_preparer> + <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> + <option name="cleanup-apks" value="true"/> + <option name="test-file-name" value="WMShellFlickerTestsPipAppsCSuite.apk"/> + <option name="test-file-name" value="FlickerTestApp.apk"/> + </target_preparer> + <!-- Enable mocking GPS location by the test app --> + <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer"> + <option name="run-command" + value="appops set com.android.wm.shell.flicker.pip.apps android:mock_location allow"/> + <option name="teardown-command" + value="appops set com.android.wm.shell.flicker.pip.apps android:mock_location deny"/> + </target_preparer> + + <!-- Needed for pushing the trace config file --> + <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/> + <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> + <option name="push-file" + key="trace_config.textproto" + value="/data/misc/perfetto-traces/trace_config.textproto" + /> + <!--Install the content provider automatically when we push some file in sdcard folder.--> + <!--Needed to avoid the installation during the test suite.--> + <option name="push-file" key="trace_config.textproto" value="/sdcard/sample.textproto"/> + </target_preparer> + <test class="com.android.tradefed.testtype.AndroidJUnitTest"> + <option name="package" value="com.android.wm.shell.flicker.pip.apps"/> + <option name="shell-timeout" value="6600s"/> + <option name="test-timeout" value="6000s"/> + <option name="hidden-api-checks" value="false"/> + <option name="device-listeners" value="android.device.collectors.PerfettoListener"/> + <!-- PerfettoListener related arguments --> + <option name="instrumentation-arg" key="perfetto_config_text_proto" value="true"/> + <option name="instrumentation-arg" + key="perfetto_config_file" + value="trace_config.textproto" + /> + <option name="instrumentation-arg" key="per_run" value="true"/> + </test> + <!-- Needed for pulling the collected trace config on to the host --> + <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> + <option name="pull-pattern-keys" value="perfetto_file_path"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.bubbles/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.pip/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.pip.apps/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.splitscreen/files"/> + <option name="directory-keys" + value="/data/user/0/com.android.wm.shell.flicker.service/files"/> + <option name="collect-on-run-ended-only" value="true"/> + <option name="clean-up" value="true"/> + </metrics_collector> + + <!-- Needed for installing apk's from Play Store --> + <target_preparer class="com.android.tradefed.targetprep.TestAppInstallSetup"> + <option name="aapt-version" value="AAPT2"/> + <option name="throw-if-not-found" value="false"/> + <option name="install-arg" value="-d"/> + <option name="install-arg" value="-g"/> + <option name="install-arg" value="-r"/> + <option name="test-file-name" value="pstash://com.netflix.mediaclient"/> + </target_preparer> +</configuration> |