Files
Nataniel Borges 9635e931c1 Enable throw-if-cmd-fail on device setup
For some reason the default behavior of the infra is to suppress exceptions during the device setup (target preparer), which means that if something does wrong we get random test failures, instead of clean setup failures

Fixes: 425227120
Flag: EXEMPT Test only
Test: atest WMShellFlickerTests
Change-Id: If42257e514252c2676f03707e3c45b1a6c3edb0c
2025-06-18 12:38:37 +00:00

103 lines
6.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!--
* Copyright 2018 Google Inc. All Rights Reserved.
-->
<configuration description="Runs WindowManager {MODULE}">
<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">
<!-- disable DeprecatedTargetSdk warning -->
<option name="run-command" value="setprop debug.wm.disable_deprecated_target_sdk_dialog 1"/>
<!-- keeps the screen on during tests -->
<option name="screen-always-on" value="on"/>
<!-- Turns off Wi-fi -->
<option name="wifi" value="off"/>
<!-- Turns off Bluetooth -->
<option name="bluetooth" value="off"/>
<!-- 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"/>
<!-- ensure lock screen mode is swipe -->
<option name="run-command" value="locksettings set-disabled false"/>
<!-- 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"/>
<!-- 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"/>
<!-- b/307664397 - Ensure camera has the correct permissions and doesn't show a dialog -->
<option name="run-command"
value="pm grant com.google.android.GoogleCamera android.permission.CAMERA"/>
<option name="run-command"
value="pm grant com.google.android.GoogleCamera android.permission.RECORD_AUDIO"/>
<option name="run-command"
value="pm grant com.google.android.GoogleCamera android.permission.ACCESS_FINE_LOCATION"/>
<option name="run-command"
value="pm grant com.google.android.GoogleCamera android.permission.ACCESS_COARSE_LOCATION"/>
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
<option name="test-user-token" value="%TEST_USER%"/>
<option name="throw-if-cmd-fail" value="true" />
<option name="run-command" value="rm -rf /data/user/%TEST_USER%/files/*"/>
<!-- Disable AOD -->
<option name="run-command" value="settings put secure doze_always_on 0"/>
<!-- Disable explore hub mode -->
<option name="run-command" value="settings put secure glanceable_hub_enabled 0"/>
<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="{MODULE}.apk"/>
<option name="test-file-name" value="FlickerTestApp.apk"/>
</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="{PACKAGE}"/>
<option name="shell-timeout" value="6600s"/>
<option name="test-timeout" value="6600s"/>
<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"/>
<option name="instrumentation-arg" key="perfetto_persist_pid_track" 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.server.wm.flicker.service/files"/>
<option name="collect-on-run-ended-only" value="true"/>
<option name="clean-up" value="true"/>
</metrics_collector>
</configuration>