blob: 842b34ad5e8ce00e9e9e944d3ef02f84c3dc5462 [file]
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (C) 2025 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="Config for Concurrent Multi-Session IME tests">
<object class="com.android.tradefed.testtype.suite.module.DeviceFeatureModuleController"
type="module_controller">
<option name="required-feature" value="android.software.input_methods"/>
<!-- Currently enabled to automotive only -->
<option name="required-feature" value="android.hardware.type.automotive" />
</object>
<option name="test-suite-tag" value="apct" />
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
<option name="cleanup-apks" value="true" />
<option name="force-install-mode" value="FULL" />
<option name="test-file-name" value="ConcurrentMultiUserImeTest.apk" />
<option name="test-file-name" value="CtsMockInputMethod.apk" />
</target_preparer>
<!-- RunOnSecondaryUserTargetPreparer must run after SuiteApkInstaller. -->
<target_preparer class="com.android.tradefed.targetprep.RunOnSecondaryUserTargetPreparer">
<option name="start-background-user" value="true" />
<option name="test-package-name" value="com.android.server.inputmethod.concurrentmultiuser" />
<option name="test-package-name" value="com.android.cts.mockime" />
</target_preparer>
<target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
<option name="run-command" value="am compat enable ALLOW_TEST_API_ACCESS com.android.cts.mockime" />
<option name="run-command" value="setprop debug.wm.disable_deprecated_abi_dialog 1" />
<option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" />
<!-- Create a place to store files for DumpOnFailure -->
<option name="run-command" value="mkdir -p /sdcard/DumpOnFailure" />
<option name="teardown-command"
value="settings delete secure show_ime_with_hard_keyboard" />
</target_preparer>
<test class="com.android.tradefed.testtype.AndroidJUnitTest">
<option name="package" value="com.android.server.inputmethod.concurrentmultiuser" />
<option name="runtime-hint" value="1m0s" />
<option name="device-listeners" value="android.tools.collectors.DefaultUITraceListener"/>
<option name="device-listeners" value="android.device.collectors.ScreenshotOnFailureCollector"/>
<!-- DefaultUITraceListener args -->
<option name="instrumentation-arg" key="skip_test_success_metrics" value="true"/>
<option name="instrumentation-arg" key="per_class" value="true"/>
</test>
<!-- Collect the files from DumpOnFailure. -->
<metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
<option name="pull-pattern-keys" value="perfetto_file_path"/>
<option name="pull-pattern-keys" value="android.device.collectors.ScreenshotOnFailureCollector.*\.png"/>
<option name="directory-keys" value="/sdcard/DumpOnFailure" />
<option name="collect-on-run-ended-only" value="true" />
<option name="clean-up" value="true" />
</metrics_collector>
</configuration>