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