blob: dc81b2612e1cece8af2ce4184e7ba4092d63d8fb [file] [log] [blame]
Tadashi G. Takaoka7be551a2017-01-23 15:30:42 +09001<?xml version="1.0" encoding="utf-8"?>
2<!--
3 Copyright (C) 2017 The Android Open Source Project
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9 http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16-->
17
18<configuration description="Config for CTS InputMethod test cases">
jdesprez503a3db2017-12-16 04:19:31 -080019 <option name="test-suite-tag" value="cts" />
Yohei Yukawabee5eb52018-01-26 08:58:55 -080020 <option name="config-descriptor:metadata" key="component" value="inputmethod" />
Julien Desprezeb718912018-06-25 14:17:21 -070021 <option name="config-descriptor:metadata" key="parameter" value="instant_app" />
Yohei Yukawa1e8a7d32019-01-29 21:36:29 -080022 <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
Julien Desprez722e0302019-06-19 16:36:45 -070023 <option name="config-descriptor:metadata" key="parameter" value="secondary_user" />
Yohei Yukawaecf533d2018-12-16 21:38:23 -080024 <!--
25 TODO(yukawa): come up with a proper way to take care of devices that do not support
26 installable IMEs. Ideally target_preparer should have an option to annotate required
27 features, e.g. android.software.input_methods so that we can conditionally install APKs
28 based on the feature supported in the target device.
29 -->
jdesprezfd6d41d2017-04-11 15:43:44 -070030 <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
Tadashi G. Takaoka7be551a2017-01-23 15:30:42 +090031 <option name="cleanup-apks" value="true" />
Yohei Yukawaf3932132017-12-04 22:24:35 -080032 <!--
Yohei Yukawaecf533d2018-12-16 21:38:23 -080033 MockIME always needs to be instaleld as a full package, even when CTS is running
34 for instant apps.
Yohei Yukawaf3932132017-12-04 22:24:35 -080035 -->
Yohei Yukawaecf533d2018-12-16 21:38:23 -080036 <option name="force-install-mode" value="FULL"/>
37 <option name="test-file-name" value="CtsMockInputMethod.apk" />
Tadashi G. Takaoka7be551a2017-01-23 15:30:42 +090038 </target_preparer>
Yohei Yukawaecf533d2018-12-16 21:38:23 -080039 <!--
40 TODO(yukawa): come up with a proper way to take care of devices that do not support
41 installable IMEs. Ideally target_preparer should have an option to annotate required
42 features, e.g. android.software.input_methods so that we can conditionally install APKs
43 based on the feature supported in the target device.
44 -->
Ming-Shin Lufccae8e2020-03-27 16:47:13 +080045
46 <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
47 <option name="run-command" value="input keyevent KEYCODE_WAKEUP" />
48 <option name="run-command" value="wm dismiss-keyguard" />
49 </target_preparer>
50
Yohei Yukawab6cd98b2020-06-10 17:09:10 -070051 <!--
52 A (separate) standalone test app APK is needed to test implicit app-visibility from the IME
53 process to the IME target process, because if the IME target process is directly interacting
54 with MockIme process via MockImeSession, then the system would already give the MockIme an
55 implicit app-visibility back to the test app. To fully test app-visibility scenario,
56 MockImeSession cannot be used in the process where the focused Activity is hosted.
57 -->
58 <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
59 <option name="cleanup-apks" value="true" />
60 <!--
61 In order to simulate the scenario where the IME client process is normally
62 installed, explicitly set false here. Otherwise, the test APP will be installed under
63 force-queryable mode, which makes the test useless.
64 -->
65 <option name="force-queryable" value="false" />
66 <option name="test-file-name" value="CtsInputMethodStandaloneTestApp.apk" />
67 </target_preparer>
68
Yohei Yukawaecf533d2018-12-16 21:38:23 -080069 <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
70 <option name="cleanup-apks" value="true" />
71 <option name="test-file-name" value="CtsInputMethodTestCases.apk" />
Yohei Yukawa07b14882018-05-18 16:20:28 -070072 </target_preparer>
Pedro Loureiro2b616f72020-12-01 12:12:45 +000073 <!-- Enabling change id ALLOW_TEST_API_ACCESS allows that package to access @TestApi methods -->
Nicolas Geoffrayc1ab01a2020-10-21 18:01:26 +010074 <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
Pedro Loureiro2b616f72020-12-01 12:12:45 +000075 <option name="run-command" value="am compat enable ALLOW_TEST_API_ACCESS com.android.cts.mockime" />
76 <option name="teardown-command" value="am compat reset ALLOW_TEST_API_ACCESS com.android.cts.mockime" />
Nicolas Geoffrayc1ab01a2020-10-21 18:01:26 +010077 </target_preparer>
Tadashi G. Takaoka7be551a2017-01-23 15:30:42 +090078 <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
79 <option name="package" value="android.view.inputmethod.cts" />
80 <option name="runtime-hint" value="1m0s" />
81 </test>
82</configuration>