//######################################################################## // Build FrameworksServicesTests package //######################################################################## package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_base_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_base_license"], } android_test { name: "FrameworksServicesTests", // Include all test java files. srcs: [ "src/**/*.java", "src/**/*.kt", "aidl/com/android/servicestests/aidl/INetworkStateObserver.aidl", "aidl/com/android/servicestests/aidl/ICmdReceiverService.aidl", "test-apps/JobTestApp/src/**/*.java", "test-apps/SuspendTestApp/src/**/*.java", ], static_libs: [ "frameworks-base-testutils", "services.accessibility", "services.appwidget", "services.autofill", "services.backup", "services.core", "services.devicepolicy", "services.net", "services.people", "services.usage", "services.uwb", "guava", "androidx.test.core", "androidx.test.ext.truth", "androidx.test.runner", "androidx.test.rules", "cts-wm-util", "platform-compat-test-rules", "mockito-target-minus-junit4", "platform-test-annotations", "ShortcutManagerTestUtils", "truth-prebuilt", "testables", "testng", "ub-uiautomator", "platformprotosnano", "hamcrest-library", "servicestests-utils", "service-appsearch", "service-jobscheduler", "service-permission.impl", // TODO: remove once Android migrates to JUnit 4.12, // which provides assertThrows "testng", "junit", "platform-compat-test-rules", ], aidl: { local_include_dirs: ["aidl"], }, libs: [ "android.hardware.power-V1-java", "android.hardware.tv.cec-V1.0-java", "android.hardware.vibrator-V2-java", "android.hidl.manager-V1.0-java", "android.test.mock", "android.test.base", "android.test.runner", ], platform_apis: true, test_suites: ["device-tests"], certificate: "platform", // These are not normally accessible from apps so they must be explicitly included. jni_libs: [ "libbacktrace", "libbase", "libbinder", "libc++", "libcutils", "libicing", "liblog", "liblzma", "libnativehelper", "libpsi", "libui", "libunwindstack", "libutils", "netd_aidl_interface-V5-cpp", ], dxflags: ["--multi-dex"], optimize: { enabled: false, }, data: [ ":JobTestApp", ], java_resources: [ ":PackageParserTestApp1", ":PackageParserTestApp2", ":PackageParserTestApp3", ":PackageParserTestApp4", ":apex.test", ":test.rebootless_apex_v1", ":test.rebootless_apex_v2", ":com.android.apex.cts.shim.v1_prebuilt", ":com.android.apex.cts.shim.v2_different_certificate_prebuilt", ":com.android.apex.cts.shim.v2_unsigned_apk_container_prebuilt", ], resource_zips: [":FrameworksServicesTests_apks_as_resources"], } java_library { name: "servicestests-core-utils", srcs: [ "src/com/android/server/pm/PackageSettingBuilder.java", ], static_libs: [ "services.core", ], } java_library { name: "servicestests-utils", srcs: [ "utils/**/*.java", "utils/**/*.kt", "utils-mockito/**/*.kt", ":services.core-sources-deviceconfig-interface", ], static_libs: [ "junit", "mockito-target-minus-junit4", ], libs: [ "android.test.runner", ], } java_library { name: "servicestests-utils-mockito-extended", srcs: [ "utils/**/*.java", "utils/**/*.kt", "utils-mockito/**/*.kt", ":services.core-sources-deviceconfig-interface", ], static_libs: [ "junit", "mockito-target-extended-minus-junit4", ], libs: [ "android.test.runner", ], } filegroup { name: "servicestests-SuspendTestApp-files", srcs: [ "src/com/android/server/pm/SuspendPackagesTest.java", ], } // Rules to copy all the test apks to the intermediate raw resource directory java_genrule { name: "FrameworksServicesTests_apks_as_resources", srcs: [ ":FrameworksCoreTests_install_complete_package_info", ":FrameworksServicesTests_install_intent_filters", ":FrameworksServicesTests_install_split_base", ":FrameworksServicesTests_install_split_feature_a", ":FrameworksServicesTests_install_uses_sdk_0", ":FrameworksServicesTests_install_uses_sdk_q0", ":FrameworksServicesTests_install_uses_sdk_q0_r0", ":FrameworksServicesTests_install_uses_sdk_r_none", ":FrameworksServicesTests_install_uses_sdk_r0", ":FrameworksServicesTests_install_uses_sdk_r5", ":FrameworksServicesTests_install_uses_sdk_r0_s0", ":FrameworksServicesTests_install_uses_sdk_r0_s5", ], out: ["FrameworkServicesTests_apks_as_resources.res.zip"], tools: ["soong_zip"], cmd: "mkdir -p $(genDir)/res/raw && " + "for i in $(in); do " + " x=$${i##*FrameworksCoreTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" + " x=$${i##*FrameworksServicesTests_}; cp $$i $(genDir)/res/raw/$${x%.apk};" + "done && " + "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res", }