blob: b9e99dd2e1e446cb96714841c659ad3b482b2418 [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/SuspendTestApp/src/**/*.java",
33 ],
Siarhei Vishniakou8e11b652024-01-23 19:45:14 -080034
35 kotlincflags: [
36 "-Werror",
37 ],
Colin Cross35be4242018-11-20 09:46:47 -080038 static_libs: [
Yara Hassan71f38092024-07-01 19:57:10 +010039 "a11ychecker-protos-java-proto-lite",
40 "aatf",
Siarhei Vishniakou3fe82c32024-01-23 18:22:31 -080041 "cts-input-lib",
Colin Cross35be4242018-11-20 09:46:47 -080042 "frameworks-base-testutils",
43 "services.accessibility",
44 "services.appwidget",
45 "services.autofill",
Nino Jagar96ef8c62023-05-12 20:26:54 +000046 "services.contentcapture",
Colin Cross35be4242018-11-20 09:46:47 -080047 "services.backup",
Christine Franksc4cf03b2021-11-19 14:46:16 -080048 "services.companion",
Colin Cross35be4242018-11-20 09:46:47 -080049 "services.core",
Omer Ozer56e774f2023-02-23 23:15:30 +000050 "services.credentials",
Colin Cross35be4242018-11-20 09:46:47 -080051 "services.devicepolicy",
Dave Mankoff0c72a322023-07-12 19:32:11 +000052 "services.flags",
Colin Cross35be4242018-11-20 09:46:47 -080053 "services.net",
Danning Chen20b32ed2019-12-18 16:52:03 -080054 "services.people",
Colin Cross35be4242018-11-20 09:46:47 -080055 "services.usage",
Manjeet Rulhania0bc6a602023-03-10 16:49:38 +000056 "service-permission.stubs.system_server",
Colin Cross35be4242018-11-20 09:46:47 -080057 "guava",
Venkatarama NG. Avadhanib886ab42020-11-05 15:36:55 +053058 "guava-android-testlib",
Christophe Koessler50361682019-12-17 16:40:47 -080059 "androidx.test.core",
Soonil Nagarkar17d8c832020-01-29 18:02:53 -080060 "androidx.test.ext.truth",
Colin Cross35be4242018-11-20 09:46:47 -080061 "androidx.test.runner",
62 "androidx.test.rules",
Naomi Musgrave89e83222023-03-29 12:54:37 +000063 "androidx.test.ext.junit",
Jing Ji37c53752021-03-30 00:39:49 -070064 "cts-wm-util",
Ruslan Tkhakokhov735cbd52020-12-04 12:41:11 +000065 "platform-compat-test-rules",
Colin Cross35be4242018-11-20 09:46:47 -080066 "mockito-target-minus-junit4",
Martynas Petuška49dbad72024-01-12 15:00:38 +000067 "mockito-kotlin2",
Colin Cross35be4242018-11-20 09:46:47 -080068 "platform-test-annotations",
69 "ShortcutManagerTestUtils",
Krzysztof Kosiński60b70872023-10-06 20:11:39 +000070 "truth",
Colin Cross35be4242018-11-20 09:46:47 -080071 "testables",
Yichun Li78330962023-04-11 15:46:58 +000072 "androidx.test.uiautomator_uiautomator",
Colin Cross35be4242018-11-20 09:46:47 -080073 "platformprotosnano",
Ben Milesfdbfa3b2021-08-20 15:48:18 +010074 "framework-protos",
Colin Cross35be4242018-11-20 09:46:47 -080075 "hamcrest-library",
76 "servicestests-utils",
Anton Hansson97369f82019-11-22 11:40:08 +000077 "service-jobscheduler",
Felipe Leme047d4d62019-12-18 13:38:00 -080078 // TODO: remove once Android migrates to JUnit 4.12,
79 // which provides assertThrows
80 "testng",
Krzysztof Kosiński60b70872023-10-06 20:11:39 +000081 "truth",
Ady Abraham15d23d82020-10-13 19:06:52 -070082 "junit",
Neil Fuller415baf32022-10-10 20:41:45 +010083 "junit-params",
Gareth Vaughan10b65092022-01-19 19:02:24 -050084 "ActivityContext",
Dmitri Plotnikov842b1342022-05-27 16:58:27 -070085 "coretests-aidl",
Brian Leea2f766f2023-01-09 16:58:45 -080086 "securebox",
Dmitri Plotnikov0db03282023-06-22 10:15:08 -070087 "flag-junit",
Jeff Sharkeyd6752c92023-11-30 11:28:10 -070088 "ravenwood-junit",
Suprabh Shukla331beba2023-12-20 12:09:11 -080089 "net_flags_lib",
Karishma Vakil49ec4772023-12-11 07:24:30 +000090 "CtsVirtualDeviceCommonLib",
Hiroki Sato7a1710e2024-01-29 14:26:05 +090091 "com_android_server_accessibility_flags_lib",
Colin Cross35be4242018-11-20 09:46:47 -080092 ],
93
Colin Cross35be4242018-11-20 09:46:47 -080094 libs: [
Jeongik Cha969b9212021-01-28 00:49:47 +090095 "android.hardware.power-V1-java",
Colin Cross35be4242018-11-20 09:46:47 -080096 "android.hardware.tv.cec-V1.0-java",
Lais Andradec4f27f32020-11-17 20:29:03 +000097 "android.hardware.vibrator-V2-java",
Lais Andrade71d90a62020-03-31 11:13:29 +010098 "android.hidl.manager-V1.0-java",
Colin Cross35be4242018-11-20 09:46:47 -080099 "android.test.mock",
100 "android.test.base",
101 "android.test.runner",
102 ],
103
104 platform_apis: true,
Filipf58f1232022-06-12 17:38:55 +0000105
106 test_suites: [
107 "device-tests",
108 "automotive-tests",
109 ],
Colin Cross35be4242018-11-20 09:46:47 -0800110
111 certificate: "platform",
112
113 // These are not normally accessible from apps so they must be explicitly included.
114 jni_libs: [
Colin Cross35be4242018-11-20 09:46:47 -0800115 "libbase",
116 "libbinder",
Colin Cross35be4242018-11-20 09:46:47 -0800117 "libc++",
118 "libcutils",
119 "liblog",
120 "liblzma",
121 "libnativehelper",
Tim Murray676d42d2019-02-13 20:47:46 -0800122 "libpsi",
Colin Cross35be4242018-11-20 09:46:47 -0800123 "libui",
Elliott Hughesfc885bb2018-12-12 12:32:15 -0800124 "libunwindstack",
Colin Cross35be4242018-11-20 09:46:47 -0800125 "libutils",
Jeongik Cha969b9212021-01-28 00:49:47 +0900126 "netd_aidl_interface-V5-cpp",
Colin Cross35be4242018-11-20 09:46:47 -0800127 ],
128
129 dxflags: ["--multi-dex"],
130
131 optimize: {
132 enabled: false,
133 },
Dan Shibcef6ae2019-07-26 14:16:43 -0700134
Todd Kennedy83eddae2020-03-02 09:21:25 -0800135 data: [
Yike9d819462022-08-01 12:47:16 +0800136 ":SimpleServiceTestApp1",
137 ":SimpleServiceTestApp2",
138 ":SimpleServiceTestApp3",
Yike9d819462022-08-01 12:47:16 +0800139 ":SuspendTestApp",
Iván Budnik9244e022022-11-28 19:06:49 +0000140 ":MediaButtonReceiverHolderTestHelperApp",
Alex Buynytskyy5112cfe2023-03-01 09:56:23 -0800141 "data/broken_shortcut.xml",
Todd Kennedy83eddae2020-03-02 09:21:25 -0800142 ],
143
144 java_resources: [
Nikita Ioffe51903822021-06-03 03:14:06 +0100145 ":com.android.apex.cts.shim.v1_prebuilt",
146 ":com.android.apex.cts.shim.v2_different_certificate_prebuilt",
147 ":com.android.apex.cts.shim.v2_unsigned_apk_container_prebuilt",
Todd Kennedy83eddae2020-03-02 09:21:25 -0800148 ],
Winson33eacc62020-01-24 12:02:58 -0800149 resource_zips: [":FrameworksServicesTests_apks_as_resources"],
Colin Cross35be4242018-11-20 09:46:47 -0800150}
151
Jeff Sharkeyd6752c92023-11-30 11:28:10 -0700152android_ravenwood_test {
153 name: "FrameworksServicesTestsRavenwood",
154 libs: [
155 "android.test.mock",
156 ],
157 static_libs: [
158 "androidx.annotation_annotation",
159 "androidx.test.rules",
Jeff Sharkeyd6752c92023-11-30 11:28:10 -0700160 "services.core",
Azhara Assanovaa4a51552024-01-24 20:59:27 +0000161 "flag-junit",
Jeff Sharkeyd6752c92023-11-30 11:28:10 -0700162 ],
163 srcs: [
164 "src/com/android/server/uri/**/*.java",
165 ],
166 auto_gen_config: true,
167}
168
Colin Cross35be4242018-11-20 09:46:47 -0800169java_library {
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700170 name: "servicestests-core-utils",
171 srcs: [
Jing Ji15079312021-10-25 14:55:38 -0700172 "src/com/android/server/am/DeviceConfigSession.java",
Santos Cordond0894ea2022-06-24 02:36:32 +0000173 "src/com/android/server/pm/PackageSettingBuilder.java",
Alex Buynytskyy83e091192022-11-20 22:01:24 +0000174 "src/com/android/server/pm/parsing/TestPackageParser2.kt",
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700175 ],
176 static_libs: [
177 "services.core",
Jing Ji15079312021-10-25 14:55:38 -0700178 "compatibility-device-util-axt",
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700179 ],
180}
181
182java_library {
Alex Buynytskyy83e091192022-11-20 22:01:24 +0000183 name: "servicestests-dpm-utils",
184 srcs: [
185 "src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java",
186 "src/com/android/server/devicepolicy/DevicePolicyManagerTestable.java",
187 "src/com/android/server/devicepolicy/DpmMockContext.java",
188 "src/com/android/server/devicepolicy/DpmTestBase.java",
189 "src/com/android/server/devicepolicy/DpmTestUtils.java",
190 "src/com/android/server/devicepolicy/DummyDeviceAdmins.java",
191 "src/com/android/server/devicepolicy/MockSystemServices.java",
192 "src/com/android/server/devicepolicy/MockUtils.java",
193 ],
194 libs: [
195 "android.test.mock",
196 "android.test.base",
197 "mockito-target-minus-junit4",
198 ],
199 static_libs: [
200 "frameworks-base-testutils",
201 "androidx.test.core",
202 "androidx.test.ext.truth",
203 "androidx.test.rules",
204 "services.core",
205 "services.devicepolicy",
206 ],
207}
208
209java_library {
Colin Cross35be4242018-11-20 09:46:47 -0800210 name: "servicestests-utils",
211 srcs: [
212 "utils/**/*.java",
Winson Chiu8e865ec2020-04-01 18:20:51 +0000213 "utils/**/*.kt",
214 "utils-mockito/**/*.kt",
Colin Cross35be4242018-11-20 09:46:47 -0800215 ],
216 static_libs: [
Brett Chabotc45f1712018-12-10 16:03:34 -0800217 "junit",
Colin Cross35be4242018-11-20 09:46:47 -0800218 "mockito-target-minus-junit4",
219 ],
220 libs: [
221 "android.test.runner",
222 ],
223}
224
Winson Chiu8e865ec2020-04-01 18:20:51 +0000225java_library {
Winson Chiu54db81c2023-06-05 22:56:08 +0000226 name: "mockito-test-utils",
227 srcs: [
228 "utils-mockito/**/*.kt",
229 ],
230 static_libs: [
231 "mockito-target-minus-junit4",
232 ],
233}
234
235java_library {
Winson Chiu8e865ec2020-04-01 18:20:51 +0000236 name: "servicestests-utils-mockito-extended",
237 srcs: [
238 "utils/**/*.java",
239 "utils/**/*.kt",
240 "utils-mockito/**/*.kt",
241 ],
242 static_libs: [
243 "junit",
244 "mockito-target-extended-minus-junit4",
245 ],
246 libs: [
247 "android.test.runner",
248 ],
249}
250
Colin Cross35be4242018-11-20 09:46:47 -0800251filegroup {
252 name: "servicestests-SuspendTestApp-files",
253 srcs: [
254 "src/com/android/server/pm/SuspendPackagesTest.java",
255 ],
256}
Winson33eacc62020-01-24 12:02:58 -0800257
258// Rules to copy all the test apks to the intermediate raw resource directory
259java_genrule {
260 name: "FrameworksServicesTests_apks_as_resources",
261 srcs: [
Winson33eacc62020-01-24 12:02:58 -0800262 ":FrameworksServicesTests_install_split_base",
263 ":FrameworksServicesTests_install_split_feature_a",
Winson33eacc62020-01-24 12:02:58 -0800264 ],
265 out: ["FrameworkServicesTests_apks_as_resources.res.zip"],
266 tools: ["soong_zip"],
267
268 cmd: "mkdir -p $(genDir)/res/raw && " +
269 "for i in $(in); do " +
270 " x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
271 " x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
272 "done && " +
273 "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
274}
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700275
276FLAKY_AND_IGNORED = [
277 "androidx.test.filters.FlakyTest",
278 "org.junit.Ignore",
279]
280// Used by content protection TEST_MAPPING
281test_module_config {
282 name: "FrameworksServicesTests_contentprotection",
283 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700284 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700285 include_filters: ["com.android.server.contentprotection"],
286 exclude_annotations: FLAKY_AND_IGNORED,
287}
288
289test_module_config {
290 name: "FrameworksServicesTests_om",
291 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700292 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700293 include_filters: ["com.android.server.om."],
294 exclude_annotations: FLAKY_AND_IGNORED,
295}
296
297// Used by contexthub TEST_MAPPING
298test_module_config {
299 name: "FrameworksServicesTests_contexthub_presubmit",
300 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700301 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700302 include_filters: ["com.android.server.location.contexthub."],
303 // TODO(ron): are these right, does it run anything?
304 include_annotations: ["android.platform.test.annotations.Presubmit"],
305 exclude_annotations: FLAKY_AND_IGNORED,
306}
307
308test_module_config {
309 name: "FrameworksServicesTests_contexthub_postsubmit",
310 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700311 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700312 include_filters: ["com.android.server.location.contexthub."],
313 // TODO(ron): are these right, does it run anything?
314 include_annotations: ["android.platform.test.annotations.Postsubmit"],
315 exclude_annotations: FLAKY_AND_IGNORED,
316}
317
318// Used by contentcapture
319test_module_config {
320 name: "FrameworksServicesTests_contentcapture",
321 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700322 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700323 include_filters: ["com.android.server.contentcapture"],
324 exclude_annotations: FLAKY_AND_IGNORED,
325}
326
327test_module_config {
328 name: "FrameworksServicesTests_recoverysystem",
329 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700330 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700331 include_filters: ["com.android.server.recoverysystem."],
332 exclude_annotations: ["androidx.test.filters.FlakyTest"],
333}
334
335// server pm TEST_MAPPING
336test_module_config {
337 name: "FrameworksServicesTests_pm_presubmit",
338 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700339 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700340 include_annotations: ["android.platform.test.annotations.Presubmit"],
341 include_filters: ["com.android.server.pm."],
342 exclude_annotations: FLAKY_AND_IGNORED,
343}
344
345test_module_config {
346 name: "FrameworksServicesTests_pm_postsubmit",
347 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700348 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700349 include_annotations: ["android.platform.test.annotations.Postsubmit"],
350 include_filters: ["com.android.server.pm."],
351 exclude_annotations: FLAKY_AND_IGNORED,
352}
353
354// server os TEST_MAPPING
355test_module_config {
356 name: "FrameworksServicesTests_os",
357 base: "FrameworksServicesTests",
Ronald Braunsteincffaa002024-04-30 13:13:41 -0700358 test_suites: ["device-tests"],
Ronald Braunsteinf74ed572024-03-20 15:47:18 -0700359 include_filters: ["com.android.server.os."],
360}