202 lines
6.2 KiB
Plaintext
202 lines
6.2 KiB
Plaintext
//
|
|
// Copyright (C) 2017 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "art_license"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
default_applicable_licenses: ["art_license"],
|
|
}
|
|
|
|
// A native library that goes into /system or /system_ext and that depends on
|
|
// a non-public library that is linked from the system namespace.
|
|
cc_library {
|
|
name: "libsystem_testlib",
|
|
min_sdk_version: "31",
|
|
stl: "libc++_static",
|
|
shared_libs: ["liblog"],
|
|
// It's difficult to add a shared_lib dependency on a non-public library
|
|
// here, so it dlopens one instead.
|
|
srcs: ["libsystem_testlib.cc"],
|
|
}
|
|
|
|
// A native library that goes into /product.
|
|
cc_library {
|
|
name: "libproduct_testlib",
|
|
min_sdk_version: "31",
|
|
stl: "none",
|
|
srcs: [],
|
|
}
|
|
|
|
// A native library that goes into /vendor.
|
|
cc_library {
|
|
name: "libvendor_testlib",
|
|
min_sdk_version: "31",
|
|
stl: "none",
|
|
srcs: [],
|
|
}
|
|
|
|
// This app is just an intermediate container to be able to include the .so
|
|
// library in the host test. It's not actually installed or started.
|
|
android_test_helper_app {
|
|
name: "library_container_app",
|
|
defaults: ["art_module_source_build_java_defaults"],
|
|
min_sdk_version: "31",
|
|
manifest: "library_container_app_manifest.xml",
|
|
compile_multilib: "both",
|
|
jni_libs: [
|
|
"libsystem_testlib",
|
|
"libproduct_testlib",
|
|
"libvendor_testlib",
|
|
],
|
|
}
|
|
|
|
java_library {
|
|
name: "loadlibrarytest_test_utils",
|
|
sdk_version: "31",
|
|
static_libs: [
|
|
"androidx.test.ext.junit",
|
|
"androidx.test.ext.truth",
|
|
],
|
|
srcs: ["src/android/test/lib/TestUtils.java"],
|
|
}
|
|
|
|
// Test fixture that represents a shared library in /system/framework.
|
|
java_library {
|
|
name: "libnativeloader_system_shared_lib",
|
|
sdk_version: "31",
|
|
installable: true,
|
|
srcs: ["src/android/test/systemsharedlib/SystemSharedLib.java"],
|
|
}
|
|
|
|
// Test fixture that represents a shared library in /system_ext/framework.
|
|
java_library {
|
|
name: "libnativeloader_system_ext_shared_lib",
|
|
sdk_version: "31",
|
|
installable: true,
|
|
srcs: ["src/android/test/systemextsharedlib/SystemExtSharedLib.java"],
|
|
}
|
|
|
|
// Test fixture that represents a shared library in /product/framework.
|
|
java_library {
|
|
name: "libnativeloader_product_shared_lib",
|
|
product_specific: true,
|
|
sdk_version: "31",
|
|
installable: true,
|
|
srcs: ["src/android/test/productsharedlib/ProductSharedLib.java"],
|
|
}
|
|
|
|
// Test fixture that represents a shared library in /vendor/framework.
|
|
java_library {
|
|
name: "libnativeloader_vendor_shared_lib",
|
|
vendor: true,
|
|
sdk_version: "31",
|
|
installable: true,
|
|
srcs: ["src/android/test/vendorsharedlib/VendorSharedLib.java"],
|
|
}
|
|
|
|
java_defaults {
|
|
name: "loadlibrarytest_app_defaults",
|
|
defaults: ["art_module_source_build_java_defaults"],
|
|
sdk_version: "31",
|
|
static_libs: [
|
|
"androidx.test.ext.junit",
|
|
"androidx.test.rules",
|
|
"loadlibrarytest_test_utils",
|
|
],
|
|
libs: [
|
|
"libnativeloader_system_shared_lib",
|
|
"libnativeloader_system_ext_shared_lib",
|
|
"libnativeloader_product_shared_lib",
|
|
"libnativeloader_vendor_shared_lib",
|
|
],
|
|
}
|
|
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_system_priv_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
manifest: "loadlibrarytest_system_priv_app_manifest.xml",
|
|
// /system/priv-app currently reuses the same test as /system/app.
|
|
srcs: ["src/android/test/app/SystemAppTest.java"],
|
|
}
|
|
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_system_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
manifest: "loadlibrarytest_system_app_manifest.xml",
|
|
srcs: ["src/android/test/app/SystemAppTest.java"],
|
|
}
|
|
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_system_ext_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
system_ext_specific: true,
|
|
manifest: "loadlibrarytest_system_ext_app_manifest.xml",
|
|
// /system_ext should behave the same as /system, so use the same test class there.
|
|
srcs: ["src/android/test/app/SystemAppTest.java"],
|
|
}
|
|
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_product_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
product_specific: true,
|
|
manifest: "loadlibrarytest_product_app_manifest.xml",
|
|
srcs: ["src/android/test/app/ProductAppTest.java"],
|
|
}
|
|
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_vendor_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
vendor: true,
|
|
manifest: "loadlibrarytest_vendor_app_manifest.xml",
|
|
srcs: ["src/android/test/app/VendorAppTest.java"],
|
|
}
|
|
|
|
// A normal app installed in /data.
|
|
android_test_helper_app {
|
|
name: "loadlibrarytest_data_app",
|
|
defaults: ["loadlibrarytest_app_defaults"],
|
|
manifest: "loadlibrarytest_data_app_manifest.xml",
|
|
srcs: ["src/android/test/app/DataAppTest.java"],
|
|
}
|
|
|
|
java_test_host {
|
|
name: "libnativeloader_e2e_tests",
|
|
defaults: ["art_module_source_build_java_defaults"],
|
|
srcs: ["src/android/test/hostside/*.java"],
|
|
libs: [
|
|
"compatibility-tradefed",
|
|
"tradefed",
|
|
],
|
|
data: [
|
|
":library_container_app",
|
|
":libnativeloader_system_shared_lib",
|
|
":libnativeloader_system_ext_shared_lib",
|
|
":libnativeloader_product_shared_lib",
|
|
":libnativeloader_vendor_shared_lib",
|
|
":loadlibrarytest_system_priv_app",
|
|
":loadlibrarytest_system_app",
|
|
":loadlibrarytest_system_ext_app",
|
|
":loadlibrarytest_product_app",
|
|
":loadlibrarytest_vendor_app",
|
|
":loadlibrarytest_data_app",
|
|
],
|
|
test_config: "libnativeloader_e2e_tests.xml",
|
|
test_suites: ["general-tests"],
|
|
}
|