Loading libs/WindowManager/Shell/tests/flicker/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -70,6 +70,7 @@ java_defaults { ], ], data: [ data: [ ":FlickerTestApp", ":FlickerTestApp", "trace_config/*", ], ], } } Loading libs/WindowManager/Shell/tests/flicker/AndroidTestTemplate.xml +36 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,9 @@ --> --> <configuration description="Runs WindowManager Shell Flicker Tests {MODULE}"> <configuration description="Runs WindowManager Shell Flicker Tests {MODULE}"> <option name="test-tag" value="FlickerTests" /> <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"> <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> <!-- keeps the screen on during tests --> <!-- keeps the screen on during tests --> <option name="screen-always-on" value="on" /> <option name="screen-always-on" value="on" /> Loading @@ -41,22 +44,53 @@ <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" /> <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 show_touches 1" /> <option name="run-command" value="settings put system pointer_location 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 secure show_ime_with_hard_keyboard" /> <option name="teardown-command" value="settings delete system show_touches" /> <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="settings delete system pointer_location" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> </target_preparer> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> <option name="cleanup-apks" value="true"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="FlickerTestApp.apk" /> <option name="test-file-name" value="FlickerTestApp.apk" /> </target_preparer> </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"> <test class="com.android.tradefed.testtype.AndroidJUnitTest"> <option name="package" value="{PACKAGE}"/> <option name="package" value="{PACKAGE}"/> <option name="shell-timeout" value="6600s" /> <option name="shell-timeout" value="6600s" /> <option name="test-timeout" value="6000s" /> <option name="test-timeout" value="6000s" /> <option name="hidden-api-checks" value="false" /> <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> </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" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="pull-pattern-keys" value="(\w)+\.winscope" /> <option name="pull-pattern-keys" value="(\w)+\.mp4" /> <option name="collect-on-run-ended-only" value="false" /> <option name="clean-up" value="true" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="directory-keys" value="/sdcard/flicker" /> <option name="directory-keys" value="/sdcard/flicker" /> <option name="collect-on-run-ended-only" value="true" /> <option name="collect-on-run-ended-only" value="true" /> Loading libs/WindowManager/Shell/tests/flicker/trace_config/trace_config.textproto 0 → 100644 +75 −0 Original line number Original line Diff line number Diff line # 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. # proto-message: TraceConfig # Enable periodic flushing of the trace buffer into the output file. write_into_file: true # Writes the userspace buffer into the file every 1s. file_write_period_ms: 2500 # See b/126487238 - we need to guarantee ordering of events. flush_period_ms: 30000 # The trace buffers needs to be big enough to hold |file_write_period_ms| of # trace data. The trace buffer sizing depends on the number of trace categories # enabled and the device activity. # RSS events buffers: { size_kb: 63488 fill_policy: RING_BUFFER } data_sources { config { name: "linux.process_stats" target_buffer: 0 # polled per-process memory counters and process/thread names. # If you don't want the polled counters, remove the "process_stats_config" # section, but keep the data source itself as it still provides on-demand # thread/process naming for ftrace data below. process_stats_config { scan_all_processes_on_start: true } } } data_sources: { config { name: "linux.ftrace" ftrace_config { ftrace_events: "ftrace/print" ftrace_events: "task/task_newtask" ftrace_events: "task/task_rename" atrace_categories: "ss" atrace_categories: "wm" atrace_categories: "am" atrace_categories: "aidl" atrace_categories: "input" atrace_categories: "binder_driver" atrace_categories: "sched_process_exit" atrace_apps: "com.android.server.wm.flicker.testapp" atrace_apps: "com.android.systemui" atrace_apps: "com.android.wm.shell.flicker" atrace_apps: "com.android.wm.shell.flicker.other" atrace_apps: "com.android.wm.shell.flicker.bubbles" atrace_apps: "com.android.wm.shell.flicker.pip" atrace_apps: "com.android.wm.shell.flicker.splitscreen" atrace_apps: "com.google.android.apps.nexuslauncher" } } } tests/FlickerTests/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,7 @@ java_defaults { ], ], data: [ data: [ ":FlickerTestApp", ":FlickerTestApp", "trace_config/*", ], ], } } Loading tests/FlickerTests/AndroidTestTemplate.xml +33 −4 Original line number Original line Diff line number Diff line Loading @@ -4,6 +4,9 @@ --> --> <configuration description="Runs WindowManager {MODULE}"> <configuration description="Runs WindowManager {MODULE}"> <option name="test-tag" value="FlickerTests" /> <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"> <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> <!-- keeps the screen on during tests --> <!-- keeps the screen on during tests --> <option name="screen-always-on" value="on" /> <option name="screen-always-on" value="on" /> Loading @@ -29,25 +32,51 @@ <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" /> <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 show_touches 1" /> <option name="run-command" value="settings put system pointer_location 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 secure show_ime_with_hard_keyboard" /> <option name="teardown-command" value="settings delete system show_touches" /> <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="settings delete system pointer_location" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> </target_preparer> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> <option name="cleanup-apks" value="true"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="FlickerTestApp.apk" /> <option name="test-file-name" value="FlickerTestApp.apk" /> </target_preparer> </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"> <test class="com.android.tradefed.testtype.AndroidJUnitTest"> <option name="package" value="{PACKAGE}"/> <option name="package" value="{PACKAGE}"/> <option name="shell-timeout" value="6600s" /> <option name="shell-timeout" value="6600s" /> <option name="test-timeout" value="6600s" /> <option name="test-timeout" value="6600s" /> <option name="hidden-api-checks" value="false" /> <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> </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" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="directory-keys" value="/sdcard/flicker" /> <option name="pull-pattern-keys" value="(\w)+\.winscope" /> <option name="collect-on-run-ended-only" value="true" /> <option name="pull-pattern-keys" value="(\w)+\.mp4" /> <option name="collect-on-run-ended-only" value="false" /> <option name="clean-up" value="true" /> <option name="clean-up" value="true" /> </metrics_collector> </metrics_collector> </configuration> </configuration> Loading
libs/WindowManager/Shell/tests/flicker/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -70,6 +70,7 @@ java_defaults { ], ], data: [ data: [ ":FlickerTestApp", ":FlickerTestApp", "trace_config/*", ], ], } } Loading
libs/WindowManager/Shell/tests/flicker/AndroidTestTemplate.xml +36 −2 Original line number Original line Diff line number Diff line Loading @@ -16,6 +16,9 @@ --> --> <configuration description="Runs WindowManager Shell Flicker Tests {MODULE}"> <configuration description="Runs WindowManager Shell Flicker Tests {MODULE}"> <option name="test-tag" value="FlickerTests" /> <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"> <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> <!-- keeps the screen on during tests --> <!-- keeps the screen on during tests --> <option name="screen-always-on" value="on" /> <option name="screen-always-on" value="on" /> Loading @@ -41,22 +44,53 @@ <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" /> <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 show_touches 1" /> <option name="run-command" value="settings put system pointer_location 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 secure show_ime_with_hard_keyboard" /> <option name="teardown-command" value="settings delete system show_touches" /> <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="settings delete system pointer_location" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> </target_preparer> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> <option name="cleanup-apks" value="true"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="FlickerTestApp.apk" /> <option name="test-file-name" value="FlickerTestApp.apk" /> </target_preparer> </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"> <test class="com.android.tradefed.testtype.AndroidJUnitTest"> <option name="package" value="{PACKAGE}"/> <option name="package" value="{PACKAGE}"/> <option name="shell-timeout" value="6600s" /> <option name="shell-timeout" value="6600s" /> <option name="test-timeout" value="6000s" /> <option name="test-timeout" value="6000s" /> <option name="hidden-api-checks" value="false" /> <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> </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" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="pull-pattern-keys" value="(\w)+\.winscope" /> <option name="pull-pattern-keys" value="(\w)+\.mp4" /> <option name="collect-on-run-ended-only" value="false" /> <option name="clean-up" value="true" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="directory-keys" value="/sdcard/flicker" /> <option name="directory-keys" value="/sdcard/flicker" /> <option name="collect-on-run-ended-only" value="true" /> <option name="collect-on-run-ended-only" value="true" /> Loading
libs/WindowManager/Shell/tests/flicker/trace_config/trace_config.textproto 0 → 100644 +75 −0 Original line number Original line Diff line number Diff line # 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. # proto-message: TraceConfig # Enable periodic flushing of the trace buffer into the output file. write_into_file: true # Writes the userspace buffer into the file every 1s. file_write_period_ms: 2500 # See b/126487238 - we need to guarantee ordering of events. flush_period_ms: 30000 # The trace buffers needs to be big enough to hold |file_write_period_ms| of # trace data. The trace buffer sizing depends on the number of trace categories # enabled and the device activity. # RSS events buffers: { size_kb: 63488 fill_policy: RING_BUFFER } data_sources { config { name: "linux.process_stats" target_buffer: 0 # polled per-process memory counters and process/thread names. # If you don't want the polled counters, remove the "process_stats_config" # section, but keep the data source itself as it still provides on-demand # thread/process naming for ftrace data below. process_stats_config { scan_all_processes_on_start: true } } } data_sources: { config { name: "linux.ftrace" ftrace_config { ftrace_events: "ftrace/print" ftrace_events: "task/task_newtask" ftrace_events: "task/task_rename" atrace_categories: "ss" atrace_categories: "wm" atrace_categories: "am" atrace_categories: "aidl" atrace_categories: "input" atrace_categories: "binder_driver" atrace_categories: "sched_process_exit" atrace_apps: "com.android.server.wm.flicker.testapp" atrace_apps: "com.android.systemui" atrace_apps: "com.android.wm.shell.flicker" atrace_apps: "com.android.wm.shell.flicker.other" atrace_apps: "com.android.wm.shell.flicker.bubbles" atrace_apps: "com.android.wm.shell.flicker.pip" atrace_apps: "com.android.wm.shell.flicker.splitscreen" atrace_apps: "com.google.android.apps.nexuslauncher" } } }
tests/FlickerTests/Android.bp +1 −0 Original line number Original line Diff line number Diff line Loading @@ -83,6 +83,7 @@ java_defaults { ], ], data: [ data: [ ":FlickerTestApp", ":FlickerTestApp", "trace_config/*", ], ], } } Loading
tests/FlickerTests/AndroidTestTemplate.xml +33 −4 Original line number Original line Diff line number Diff line Loading @@ -4,6 +4,9 @@ --> --> <configuration description="Runs WindowManager {MODULE}"> <configuration description="Runs WindowManager {MODULE}"> <option name="test-tag" value="FlickerTests" /> <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"> <target_preparer class="com.android.tradefed.targetprep.DeviceSetup"> <!-- keeps the screen on during tests --> <!-- keeps the screen on during tests --> <option name="screen-always-on" value="on" /> <option name="screen-always-on" value="on" /> Loading @@ -29,25 +32,51 @@ <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" /> <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 show_touches 1" /> <option name="run-command" value="settings put system pointer_location 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 secure show_ime_with_hard_keyboard" /> <option name="teardown-command" value="settings delete system show_touches" /> <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="settings delete system pointer_location" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" /> </target_preparer> </target_preparer> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller"> <option name="cleanup-apks" value="true"/> <option name="cleanup-apks" value="true"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="{MODULE}.apk"/> <option name="test-file-name" value="FlickerTestApp.apk" /> <option name="test-file-name" value="FlickerTestApp.apk" /> </target_preparer> </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"> <test class="com.android.tradefed.testtype.AndroidJUnitTest"> <option name="package" value="{PACKAGE}"/> <option name="package" value="{PACKAGE}"/> <option name="shell-timeout" value="6600s" /> <option name="shell-timeout" value="6600s" /> <option name="test-timeout" value="6600s" /> <option name="test-timeout" value="6600s" /> <option name="hidden-api-checks" value="false" /> <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> </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" /> </metrics_collector> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector"> <option name="directory-keys" value="/sdcard/flicker" /> <option name="pull-pattern-keys" value="(\w)+\.winscope" /> <option name="collect-on-run-ended-only" value="true" /> <option name="pull-pattern-keys" value="(\w)+\.mp4" /> <option name="collect-on-run-ended-only" value="false" /> <option name="clean-up" value="true" /> <option name="clean-up" value="true" /> </metrics_collector> </metrics_collector> </configuration> </configuration>