• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//########################################################################
2// Build FrameworksServicesTests package
3//########################################################################
4
5package {
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
14android_test {
15    name: "FrameworksServicesTests",
16
17    // Include all test java files.
18    srcs: [
19        "src/**/*.java",
20        "src/**/*.kt",
21
22        "test-apps/JobTestApp/src/**/*.java",
23
24        "test-apps/SuspendTestApp/src/**/*.java",
25    ],
26    static_libs: [
27        "frameworks-base-testutils",
28        "services.accessibility",
29        "services.appwidget",
30        "services.autofill",
31        "services.backup",
32        "services.companion",
33        "services.core",
34        "services.devicepolicy",
35        "services.net",
36        "services.people",
37        "services.usage",
38        "guava",
39        "guava-android-testlib",
40        "androidx.test.core",
41        "androidx.test.ext.truth",
42        "androidx.test.runner",
43        "androidx.test.rules",
44        "cts-wm-util",
45        "platform-compat-test-rules",
46        "mockito-target-minus-junit4",
47        "platform-test-annotations",
48        "ShortcutManagerTestUtils",
49        "truth-prebuilt",
50        "testables",
51        "testng",
52        "ub-uiautomator",
53        "platformprotosnano",
54        "framework-protos",
55        "hamcrest-library",
56        "servicestests-utils",
57        "service-jobscheduler",
58        // TODO: remove once Android migrates to JUnit 4.12,
59        // which provides assertThrows
60        "testng",
61        "junit",
62        "platform-compat-test-rules",
63        "ActivityContext",
64    ],
65
66    libs: [
67        "android.hardware.power-V1-java",
68        "android.hardware.tv.cec-V1.0-java",
69        "android.hardware.vibrator-V2-java",
70        "android.hidl.manager-V1.0-java",
71        "android.test.mock",
72        "android.test.base",
73        "android.test.runner",
74    ],
75
76    platform_apis: true,
77    test_suites: ["device-tests"],
78
79    certificate: "platform",
80
81    // These are not normally accessible from apps so they must be explicitly included.
82    jni_libs: [
83        "libbase",
84        "libbinder",
85        "libc++",
86        "libcutils",
87        "liblog",
88        "liblzma",
89        "libnativehelper",
90        "libpsi",
91        "libui",
92        "libunwindstack",
93        "libutils",
94        "netd_aidl_interface-V5-cpp",
95    ],
96
97    dxflags: ["--multi-dex"],
98
99    optimize: {
100        enabled: false,
101    },
102
103    data: [
104        ":JobTestApp",
105        ":StubTestApp",
106    ],
107
108    java_resources: [
109        ":com.android.apex.cts.shim.v1_prebuilt",
110        ":com.android.apex.cts.shim.v2_different_certificate_prebuilt",
111        ":com.android.apex.cts.shim.v2_unsigned_apk_container_prebuilt",
112        ":apex.test",
113        ":test.rebootless_apex_v1",
114        ":test.rebootless_apex_v2",
115    ],
116    resource_zips: [":FrameworksServicesTests_apks_as_resources"],
117}
118
119java_library {
120    name: "servicestests-core-utils",
121    srcs: [
122        "src/com/android/server/pm/PackageSettingBuilder.java",
123        "src/com/android/server/am/DeviceConfigSession.java",
124        "src/com/android/server/pm/parsing/TestPackageParser2.kt",
125    ],
126    static_libs: [
127        "services.core",
128        "compatibility-device-util-axt",
129    ],
130}
131
132java_library {
133    name: "servicestests-dpm-utils",
134    srcs: [
135        "src/com/android/server/devicepolicy/DevicePolicyManagerServiceTestable.java",
136        "src/com/android/server/devicepolicy/DevicePolicyManagerTestable.java",
137        "src/com/android/server/devicepolicy/DpmMockContext.java",
138        "src/com/android/server/devicepolicy/DpmTestBase.java",
139        "src/com/android/server/devicepolicy/DpmTestUtils.java",
140        "src/com/android/server/devicepolicy/DummyDeviceAdmins.java",
141        "src/com/android/server/devicepolicy/MockSystemServices.java",
142        "src/com/android/server/devicepolicy/MockUtils.java",
143    ],
144    libs: [
145        "android.test.mock",
146        "android.test.base",
147        "mockito-target-minus-junit4",
148    ],
149    static_libs: [
150        "frameworks-base-testutils",
151        "androidx.test.core",
152        "androidx.test.ext.truth",
153        "androidx.test.rules",
154        "services.core",
155        "services.devicepolicy",
156    ],
157}
158
159java_library {
160    name: "servicestests-utils",
161    srcs: [
162        "utils/**/*.java",
163        "utils/**/*.kt",
164        "utils-mockito/**/*.kt",
165    ],
166    static_libs: [
167        "junit",
168        "mockito-target-minus-junit4",
169    ],
170    libs: [
171        "android.test.runner",
172    ],
173}
174
175java_library {
176    name: "servicestests-utils-mockito-extended",
177    srcs: [
178        "utils/**/*.java",
179        "utils/**/*.kt",
180        "utils-mockito/**/*.kt",
181    ],
182    static_libs: [
183        "junit",
184        "mockito-target-extended-minus-junit4",
185    ],
186    libs: [
187        "android.test.runner",
188    ],
189}
190
191filegroup {
192    name: "servicestests-SuspendTestApp-files",
193    srcs: [
194        "src/com/android/server/pm/SuspendPackagesTest.java",
195    ],
196}
197
198// Rules to copy all the test apks to the intermediate raw resource directory
199java_genrule {
200    name: "FrameworksServicesTests_apks_as_resources",
201    srcs: [
202        ":FrameworksServicesTests_install_split_base",
203        ":FrameworksServicesTests_install_split_feature_a",
204    ],
205    out: ["FrameworkServicesTests_apks_as_resources.res.zip"],
206    tools: ["soong_zip"],
207
208    cmd: "mkdir -p $(genDir)/res/raw && " +
209        "for i in $(in); do " +
210        "  x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
211        "  x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" +
212        "done && " +
213        "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
214}
215