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