blob: 2ece8c74420c95aa4dba23c4e02522836c05e62e [file] [log] [blame]
Colin Cross35be4242018-11-20 09:46:47 -08001//########################################################################
2// Build FrameworksServicesTests package
3//########################################################################
4
Carlos Galo13a32962023-09-29 18:33:23 +00005java_defaults {
6 name: "FrameworksServicesTests-jni-defaults",
7 jni_libs: [
8 "libservicestestjni",
9 ],
10}
11
Bob Badour8a6a2bc2021-02-12 17:07:05 -080012package {
13 // See: http://go/android-license-faq
14 // A large-scale-change added 'default_applicable_licenses' to import
15 // all of the 'license_kinds' from "frameworks_base_license"
16 // to get the below license kinds:
17 // SPDX-license-identifier-Apache-2.0
18 default_applicable_licenses: ["frameworks_base_license"],
19}
20
Colin Cross35be4242018-11-20 09:46:47 -080021android_test {
22 name: "FrameworksServicesTests",
Carlos Galo13a32962023-09-29 18:33:23 +000023 defaults: [
24 "FrameworksServicesTests-jni-defaults",
25 ],
Colin Cross35be4242018-11-20 09:46:47 -080026
27 // Include all test java files.
28 srcs: [
29 "src/**/*.java",
Winsond9d17362019-10-02 12:41:29 -070030 "src/**/*.kt",
Colin Cross35be4242018-11-20 09:46:47 -080031
Colin Cross35be4242018-11-20 09:46:47 -080032 "test-apps/JobTestApp/src/**/*.java",
33
34 "test-apps/SuspendTestApp/src/**/*.java",
35 ],
36 static_libs: [
37 "frameworks-base-testutils",
38 "services.accessibility",
39 "services.appwidget",
40 "services.autofill",
Nino Jagar96ef8c62023-05-12 20:26:54 +000041 "services.contentcapture",
Colin Cross35be4242018-11-20 09:46:47 -080042 "services.backup",
Christine Franksc4cf03b2021-11-19 14:46:16 -080043 "services.companion",
Colin Cross35be4242018-11-20 09:46:47 -080044 "services.core",
Omer Ozer56e774f2023-02-23 23:15:30 +000045 "services.credentials",
Colin Cross35be4242018-11-20 09:46:47 -080046 "services.devicepolicy",
Dave Mankoff0c72a322023-07-12 19:32:11 +000047 "services.flags",
Colin Cross35be4242018-11-20 09:46:47 -080048 "services.net",
Danning Chen20b32ed2019-12-18 16:52:03 -080049 "services.people",
Colin Cross35be4242018-11-20 09:46:47 -080050 "services.usage",
Manjeet Rulhania0bc6a602023-03-10 16:49:38 +000051 "service-permission.stubs.system_server",
Colin Cross35be4242018-11-20 09:46:47 -080052 "guava",
Venkatarama NG. Avadhanib886ab42020-11-05 15:36:55 +053053 "guava-android-testlib",
Christophe Koessler50361682019-12-17 16:40:47 -080054 "androidx.test.core",
Soonil Nagarkar17d8c832020-01-29 18:02:53 -080055 "androidx.test.ext.truth",
Colin Cross35be4242018-11-20 09:46:47 -080056 "androidx.test.runner",
57 "androidx.test.rules",
Naomi Musgrave89e83222023-03-29 12:54:37 +000058 "androidx.test.ext.junit",
Jing Ji37c53752021-03-30 00:39:49 -070059 "cts-wm-util",
Ruslan Tkhakokhov735cbd52020-12-04 12:41:11 +000060 "platform-compat-test-rules",
Colin Cross35be4242018-11-20 09:46:47 -080061 "mockito-target-minus-junit4",
62 "platform-test-annotations",
63 "ShortcutManagerTestUtils",
Krzysztof Kosiński60b70872023-10-06 20:11:39 +000064 "truth",
Colin Cross35be4242018-11-20 09:46:47 -080065 "testables",
Yichun Li78330962023-04-11 15:46:58 +000066 "androidx.test.uiautomator_uiautomator",
Colin Cross35be4242018-11-20 09:46:47 -080067 "platformprotosnano",
Ben Milesfdbfa3b2021-08-20 15:48:18 +010068 "framework-protos",
Colin Cross35be4242018-11-20 09:46:47 -080069 "hamcrest-library",
70 "servicestests-utils",
Anton Hansson97369f82019-11-22 11:40:08 +000071 "service-jobscheduler",
Felipe Leme047d4d62019-12-18 13:38:00 -080072 // TODO: remove once Android migrates to JUnit 4.12,
73 // which provides assertThrows
74 "testng",
Krzysztof Kosiński60b70872023-10-06 20:11:39 +000075 "truth",
Ady Abraham15d23d82020-10-13 19:06:52 -070076 "junit",
Neil Fuller415baf32022-10-10 20:41:45 +010077 "junit-params",
Gareth Vaughan10b65092022-01-19 19:02:24 -050078 "ActivityContext",
Dmitri Plotnikov842b1342022-05-27 16:58:27 -070079 "coretests-aidl",
Brian Leea2f766f2023-01-09 16:58:45 -080080 "securebox",
Dmitri Plotnikov0db03282023-06-22 10:15:08 -070081 "flag-junit",
Colin Cross35be4242018-11-20 09:46:47 -080082 ],
83
Colin Cross35be4242018-11-20 09:46:47 -080084 libs: [
Jeongik Cha969b9212021-01-28 00:49:47 +090085 "android.hardware.power-V1-java",
Colin Cross35be4242018-11-20 09:46:47 -080086 "android.hardware.tv.cec-V1.0-java",
Lais Andradec4f27f32020-11-17 20:29:03 +000087 "android.hardware.vibrator-V2-java",
Lais Andrade71d90a62020-03-31 11:13:29 +010088 "android.hidl.manager-V1.0-java",
Colin Cross35be4242018-11-20 09:46:47 -080089 "android.test.mock",
90 "android.test.base",
91 "android.test.runner",
92 ],
93
94 platform_apis: true,
Filipf58f1232022-06-12 17:38:55 +000095
96 test_suites: [
97 "device-tests",
98 "automotive-tests",
99 ],
Colin Cross35be4242018-11-20 09:46:47 -0800100
101 certificate: "platform",
102
103 // These are not normally accessible from apps so they must be explicitly included.
104 jni_libs: [
Colin Cross35be4242018-11-20 09:46:47 -0800105 "libbase",
106 "libbinder",
Colin Cross35be4242018-11-20 09:46:47 -0800107 "libc++",
108 "libcutils",
109 "liblog",
110 "liblzma",
111 "libnativehelper",
Tim Murray676d42d2019-02-13 20:47:46 -0800112 "libpsi",
Colin Cross35be4242018-11-20 09:46:47 -0800113 "libui",
Elliott Hughesfc885bb2018-12-12 12:32:15 -0800114 "libunwindstack",
Colin Cross35be4242018-11-20 09:46:47 -0800115 "libutils",
Jeongik Cha969b9212021-01-28 00:49:47 +0900116 "netd_aidl_interface-V5-cpp",
Colin Cross35be4242018-11-20 09:46:47 -0800117 ],
118
119 dxflags: ["--multi-dex"],
120
121 optimize: {
122 enabled: false,
123 },
Dan Shibcef6ae2019-07-26 14:16:43 -0700124
Todd Kennedy83eddae2020-03-02 09:21:25 -0800125 data: [
126 ":JobTestApp",
Yike9d819462022-08-01 12:47:16 +0800127 ":SimpleServiceTestApp1",
128 ":SimpleServiceTestApp2",
129 ":SimpleServiceTestApp3",
Yike9d819462022-08-01 12:47:16 +0800130 ":SuspendTestApp",
Iván Budnik9244e022022-11-28 19:06:49 +0000131 ":MediaButtonReceiverHolderTestHelperApp",
Alex Buynytskyy5112cfe2023-03-01 09:56:23 -0800132 "data/broken_shortcut.xml",
Todd Kennedy83eddae2020-03-02 09:21:25 -0800133 ],
134
135 java_resources: [
Nikita Ioffe51903822021-06-03 03:14:06 +0100136 ":com.android.apex.cts.shim.v1_prebuilt",
137 ":com.android.apex.cts.shim.v2_different_certificate_prebuilt",
138 ":com.android.apex.cts.shim.v2_unsigned_apk_container_prebuilt",
Todd Kennedy83eddae2020-03-02 09:21:25 -0800139 ],
Winson33eacc62020-01-24 12:02:58 -0800140 resource_zips: [":FrameworksServicesTests_apks_as_resources"],
Colin Cross35be4242018-11-20 09:46:47 -0800141}
142
143java_library {
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700144 name: "servicestests-core-utils",
145 srcs: [
Jing Ji15079312021-10-25 14:55:38 -0700146 "src/com/android/server/am/DeviceConfigSession.java",
Santos Cordond0894ea2022-06-24 02:36:32 +0000147 "src/com/android/server/pm/PackageSettingBuilder.java",
Alex Buynytskyy83e091192022-11-20 22:01:24 +0000148 "src/com/android/server/pm/parsing/TestPackageParser2.kt",
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700149 ],
150 static_libs: [
151 "services.core",
Jing Ji15079312021-10-25 14:55:38 -0700152 "compatibility-device-util-axt",
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700153 ],
154}
155
156java_library {
Alex Buynytskyy83e091192022-11-20 22:01:24 +0000157 name: "servicestests-dpm-utils",
158 srcs: [
159 "src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java",
160 "src/com/android/server/devicepolicy/DevicePolicyManagerTestable.java",
161 "src/com/android/server/devicepolicy/DpmMockContext.java",
162 "src/com/android/server/devicepolicy/DpmTestBase.java",
163 "src/com/android/server/devicepolicy/DpmTestUtils.java",
164 "src/com/android/server/devicepolicy/DummyDeviceAdmins.java",
165 "src/com/android/server/devicepolicy/MockSystemServices.java",
166 "src/com/android/server/devicepolicy/MockUtils.java",
167 ],
168 libs: [
169 "android.test.mock",
170 "android.test.base",
171 "mockito-target-minus-junit4",
172 ],
173 static_libs: [
174 "frameworks-base-testutils",
175 "androidx.test.core",
176 "androidx.test.ext.truth",
177 "androidx.test.rules",
178 "services.core",
179 "services.devicepolicy",
180 ],
181}
182
183java_library {
Colin Cross35be4242018-11-20 09:46:47 -0800184 name: "servicestests-utils",
185 srcs: [
186 "utils/**/*.java",
Winson Chiu8e865ec2020-04-01 18:20:51 +0000187 "utils/**/*.kt",
188 "utils-mockito/**/*.kt",
Colin Cross35be4242018-11-20 09:46:47 -0800189 ],
190 static_libs: [
Brett Chabotc45f1712018-12-10 16:03:34 -0800191 "junit",
Colin Cross35be4242018-11-20 09:46:47 -0800192 "mockito-target-minus-junit4",
193 ],
194 libs: [
195 "android.test.runner",
196 ],
197}
198
Winson Chiu8e865ec2020-04-01 18:20:51 +0000199java_library {
200 name: "servicestests-utils-mockito-extended",
201 srcs: [
202 "utils/**/*.java",
203 "utils/**/*.kt",
204 "utils-mockito/**/*.kt",
205 ],
206 static_libs: [
207 "junit",
208 "mockito-target-extended-minus-junit4",
209 ],
210 libs: [
211 "android.test.runner",
212 ],
213}
214
Colin Cross35be4242018-11-20 09:46:47 -0800215filegroup {
216 name: "servicestests-SuspendTestApp-files",
217 srcs: [
218 "src/com/android/server/pm/SuspendPackagesTest.java",
219 ],
220}
Winson33eacc62020-01-24 12:02:58 -0800221
222// Rules to copy all the test apks to the intermediate raw resource directory
223java_genrule {
224 name: "FrameworksServicesTests_apks_as_resources",
225 srcs: [
Winson33eacc62020-01-24 12:02:58 -0800226 ":FrameworksServicesTests_install_split_base",
227 ":FrameworksServicesTests_install_split_feature_a",
Winson33eacc62020-01-24 12:02:58 -0800228 ],
229 out: ["FrameworkServicesTests_apks_as_resources.res.zip"],
230 tools: ["soong_zip"],
231
232 cmd: "mkdir -p $(genDir)/res/raw && " +
233 "for i in $(in); do " +
234 " x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
235 " x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
236 "done && " +
237 "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
238}