blob: c74fb940187949229cb9331c8472dedddaff7d45 [file]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_native_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_native_license"],
}
rust_test {
name: "rustBinderTest",
srcs: ["integration.rs"],
rustlibs: [
"libbinder_rs",
"libselinux_bindgen",
"libbinder_tokio_rs",
"libtokio",
"libzerocopy",
],
shared_libs: [
"libselinux",
],
data: [
":rustBinderTestService",
],
test_suites: ["general-tests"],
}
rust_test {
name: "rustBinderTestService",
srcs: ["integration.rs"],
rustlibs: [
"libbinder_rs",
"liblibc",
"libzerocopy",
],
test_harness: false,
auto_gen_config: false,
}
cc_test {
name: "binderRustNdkInteropTest",
srcs: [
"binderRustNdkInteropTest.cpp",
],
shared_libs: [
"libbinder",
"libbinder_ndk",
],
static_libs: [
"IBinderRustNdkInteropTest-ndk",
"libbinder_ndk_rust_interop",
],
test_suites: ["general-tests"],
require_root: true,
// rustBinderTestService uses a custom config
auto_gen_config: true,
}
aidl_interface {
name: "IBinderRustNdkInteropTest",
unstable: true,
srcs: [
"IBinderRustNdkInteropTest.aidl",
"IBinderRustNdkInteropTestOther.aidl",
],
backend: {
ndk: {
enabled: true,
},
rust: {
enabled: true,
},
},
}
rust_ffi_static {
name: "libbinder_ndk_rust_interop",
crate_name: "binder_ndk_rust_interop",
srcs: [
"ndk_rust_interop.rs",
],
rustlibs: [
"libbinder_rs",
"libbinder_rs_ndk_compat",
"IBinderRustNdkInteropTest-rust",
],
}
cc_defaults {
name: "rustBinderSerializationTest_defaults",
shared_libs: [
"libbinder",
"libbinder_ndk",
"libutils",
"libbase",
],
srcs: [
"serialization.cpp",
],
auto_gen_config: true,
test_suites: ["general-tests"],
}
cc_test {
name: "rustBinderSerializationTest",
defaults: ["rustBinderSerializationTest_defaults"],
static_libs: [
"libbinder_rs_serialization_test",
],
}
rust_bindgen {
name: "libbinder_rs_serialization_bindgen",
crate_name: "binder_rs_serialization_bindgen",
wrapper_src: "serialization.hpp",
source_stem: "bindings",
bindgen_flags: [
"--allowlist-type",
"Transaction",
"--allowlist-var",
"TESTDATA_.*",
],
shared_libs: [
"libbinder",
"libc++",
],
}
rust_ffi_static {
name: "libbinder_rs_serialization_test",
crate_name: "binder_rs_serialization_test",
srcs: [
"serialization.rs",
":libbinder_rs_serialization_bindgen",
],
rustlibs: [
"libbinder_rs",
],
}
// The following rules add tests that link against libbinder_rs_nostd.
// The binaries and tests themselves still link against std.
rust_ffi_static {
name: "libbinder_rs_nostd_serialization_test",
crate_name: "binder_rs_nostd_serialization_test",
srcs: [
"serialization.rs",
":libbinder_rs_serialization_bindgen",
],
// TODO: b/425915863 - change to no_std_rlibs once libbinder_rs_nostd is actually no_std
rlibs: [
"libbinder_rs_nostd",
],
}
cc_test {
name: "rustBinderNoStdSerializationTest",
defaults: ["rustBinderSerializationTest_defaults"],
static_libs: [
"libbinder_rs_nostd_serialization_test",
],
}