blob: 68f547979ce0e40cef7a1e9ed251d3817c7c5c6a [file] [log] [blame]
Colin Cross35be4242018-11-20 09:46:47 -08001//########################################################################
2// Build FrameworksServicesTests package
3//########################################################################
4
Bob Badour8a6a2bc2021-02-12 17:07:05 -08005package {
6 // See: http://go/android-license-faq
7 // A large-scale-change added 'default_applicable_licenses' to import
8 // all of the 'license_kinds' from "frameworks_base_license"
9 // to get the below license kinds:
10 // SPDX-license-identifier-Apache-2.0
11 default_applicable_licenses: ["frameworks_base_license"],
12}
13
Colin Cross35be4242018-11-20 09:46:47 -080014android_test {
15 name: "FrameworksServicesTests",
16
17 // Include all test java files.
18 srcs: [
19 "src/**/*.java",
Winsond9d17362019-10-02 12:41:29 -070020 "src/**/*.kt",
Colin Cross35be4242018-11-20 09:46:47 -080021
22 "aidl/com/android/servicestests/aidl/INetworkStateObserver.aidl",
23 "aidl/com/android/servicestests/aidl/ICmdReceiverService.aidl",
24
25 "test-apps/JobTestApp/src/**/*.java",
26
27 "test-apps/SuspendTestApp/src/**/*.java",
28 ],
29 static_libs: [
30 "frameworks-base-testutils",
31 "services.accessibility",
32 "services.appwidget",
33 "services.autofill",
34 "services.backup",
35 "services.core",
36 "services.devicepolicy",
37 "services.net",
Danning Chen20b32ed2019-12-18 16:52:03 -080038 "services.people",
Colin Cross35be4242018-11-20 09:46:47 -080039 "services.usage",
40 "guava",
Christophe Koessler50361682019-12-17 16:40:47 -080041 "androidx.test.core",
Soonil Nagarkar17d8c832020-01-29 18:02:53 -080042 "androidx.test.ext.truth",
Colin Cross35be4242018-11-20 09:46:47 -080043 "androidx.test.runner",
44 "androidx.test.rules",
Ruslan Tkhakokhov735cbd52020-12-04 12:41:11 +000045 "platform-compat-test-rules",
Colin Cross35be4242018-11-20 09:46:47 -080046 "mockito-target-minus-junit4",
47 "platform-test-annotations",
48 "ShortcutManagerTestUtils",
49 "truth-prebuilt",
50 "testables",
51 "testng",
52 "ub-uiautomator",
53 "platformprotosnano",
54 "hamcrest-library",
55 "servicestests-utils",
Alexander Dorokhinefed5ce22019-11-19 15:16:33 -080056 "service-appsearch",
Anton Hansson97369f82019-11-22 11:40:08 +000057 "service-jobscheduler",
Paul Duffinbace9a12020-06-02 17:48:57 +010058 "service-permission.impl",
Felipe Leme047d4d62019-12-18 13:38:00 -080059 // TODO: remove once Android migrates to JUnit 4.12,
60 // which provides assertThrows
61 "testng",
Ady Abraham15d23d82020-10-13 19:06:52 -070062 "junit",
63 "platform-compat-test-rules",
Colin Cross35be4242018-11-20 09:46:47 -080064 ],
65
66 aidl: {
67 local_include_dirs: ["aidl"],
68 },
69
70 libs: [
Jeongik Cha969b9212021-01-28 00:49:47 +090071 "android.hardware.power-V1-java",
Colin Cross35be4242018-11-20 09:46:47 -080072 "android.hardware.tv.cec-V1.0-java",
Lais Andradec4f27f32020-11-17 20:29:03 +000073 "android.hardware.vibrator-V2-java",
Lais Andrade71d90a62020-03-31 11:13:29 +010074 "android.hidl.manager-V1.0-java",
Colin Cross35be4242018-11-20 09:46:47 -080075 "android.test.mock",
76 "android.test.base",
77 "android.test.runner",
78 ],
79
80 platform_apis: true,
81 test_suites: ["device-tests"],
82
83 certificate: "platform",
84
85 // These are not normally accessible from apps so they must be explicitly included.
86 jni_libs: [
87 "libbacktrace",
88 "libbase",
89 "libbinder",
Colin Cross35be4242018-11-20 09:46:47 -080090 "libc++",
91 "libcutils",
Alexander Dorokhinebd7bca22020-09-22 15:02:26 -070092 "libicing",
Colin Cross35be4242018-11-20 09:46:47 -080093 "liblog",
94 "liblzma",
95 "libnativehelper",
Tim Murray676d42d2019-02-13 20:47:46 -080096 "libpsi",
Colin Cross35be4242018-11-20 09:46:47 -080097 "libui",
Elliott Hughesfc885bb2018-12-12 12:32:15 -080098 "libunwindstack",
Colin Cross35be4242018-11-20 09:46:47 -080099 "libutils",
Jeongik Cha969b9212021-01-28 00:49:47 +0900100 "netd_aidl_interface-V5-cpp",
Colin Cross35be4242018-11-20 09:46:47 -0800101 ],
102
103 dxflags: ["--multi-dex"],
104
105 optimize: {
106 enabled: false,
107 },
Dan Shibcef6ae2019-07-26 14:16:43 -0700108
Todd Kennedy83eddae2020-03-02 09:21:25 -0800109 data: [
110 ":JobTestApp",
111 ],
112
113 java_resources: [
114 ":PackageParserTestApp1",
115 ":PackageParserTestApp2",
116 ":PackageParserTestApp3",
Todd Kennedyb0036c02020-11-17 11:56:47 -0800117 ":PackageParserTestApp4",
Mohammad Samiul Islam2de4baf2020-04-29 12:08:14 +0100118 ":apex.test",
Todd Kennedy83eddae2020-03-02 09:21:25 -0800119 ],
Winson33eacc62020-01-24 12:02:58 -0800120 resource_zips: [":FrameworksServicesTests_apks_as_resources"],
Colin Cross35be4242018-11-20 09:46:47 -0800121}
122
123java_library {
Patrick Baumann4b4558e2020-10-13 17:09:43 -0700124 name: "servicestests-core-utils",
125 srcs: [
126 "src/com/android/server/pm/PackageSettingBuilder.java",
127 ],
128 static_libs: [
129 "services.core",
130 ],
131}
132
133java_library {
Colin Cross35be4242018-11-20 09:46:47 -0800134 name: "servicestests-utils",
135 srcs: [
136 "utils/**/*.java",
Winson Chiu8e865ec2020-04-01 18:20:51 +0000137 "utils/**/*.kt",
138 "utils-mockito/**/*.kt",
raylinhsude4de322020-10-19 11:24:51 +0800139 ":services.core-sources-deviceconfig-interface",
Colin Cross35be4242018-11-20 09:46:47 -0800140 ],
141 static_libs: [
Brett Chabotc45f1712018-12-10 16:03:34 -0800142 "junit",
Colin Cross35be4242018-11-20 09:46:47 -0800143 "mockito-target-minus-junit4",
144 ],
145 libs: [
146 "android.test.runner",
147 ],
148}
149
Winson Chiu8e865ec2020-04-01 18:20:51 +0000150java_library {
151 name: "servicestests-utils-mockito-extended",
152 srcs: [
153 "utils/**/*.java",
154 "utils/**/*.kt",
155 "utils-mockito/**/*.kt",
raylinhsude4de322020-10-19 11:24:51 +0800156 ":services.core-sources-deviceconfig-interface",
Winson Chiu8e865ec2020-04-01 18:20:51 +0000157 ],
158 static_libs: [
159 "junit",
160 "mockito-target-extended-minus-junit4",
161 ],
162 libs: [
163 "android.test.runner",
164 ],
165}
166
Colin Cross35be4242018-11-20 09:46:47 -0800167filegroup {
168 name: "servicestests-SuspendTestApp-files",
169 srcs: [
170 "src/com/android/server/pm/SuspendPackagesTest.java",
171 ],
172}
Winson33eacc62020-01-24 12:02:58 -0800173
174// Rules to copy all the test apks to the intermediate raw resource directory
175java_genrule {
176 name: "FrameworksServicesTests_apks_as_resources",
177 srcs: [
178 ":FrameworksCoreTests_install_complete_package_info",
179 ":FrameworksServicesTests_install_intent_filters",
180 ":FrameworksServicesTests_install_split_base",
181 ":FrameworksServicesTests_install_split_feature_a",
182 ":FrameworksServicesTests_install_uses_sdk_0",
183 ":FrameworksServicesTests_install_uses_sdk_q0",
Anton Hansson7db3ca22021-02-24 12:57:26 +0000184 ":FrameworksServicesTests_install_uses_sdk_q0_r0",
185 ":FrameworksServicesTests_install_uses_sdk_r_none",
Winson33eacc62020-01-24 12:02:58 -0800186 ":FrameworksServicesTests_install_uses_sdk_r0",
187 ":FrameworksServicesTests_install_uses_sdk_r5",
Anton Hansson7db3ca22021-02-24 12:57:26 +0000188 ":FrameworksServicesTests_install_uses_sdk_r0_s0",
189 ":FrameworksServicesTests_install_uses_sdk_r0_s5",
Winson33eacc62020-01-24 12:02:58 -0800190 ],
191 out: ["FrameworkServicesTests_apks_as_resources.res.zip"],
192 tools: ["soong_zip"],
193
194 cmd: "mkdir -p $(genDir)/res/raw && " +
195 "for i in $(in); do " +
196 " x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
197 " x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
198 "done && " +
199 "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
200}