blob: 7abdc4e90c2ffb73870b6f2d135454c1cb8a02b0 [file] [log] [blame]
cc_test_library {
name: "libnetd_test_resolv_utils",
defaults: ["netd_defaults", "resolv_test_defaults"],
srcs: [
"resolv_test_utils.cpp",
],
header_libs: [
"libnetd_resolv_headers",
],
shared_libs: [
"libutils",
],
static_libs: [
"netd_aidl_interface-ndk_platform",
"libnetd_test_dnsresponder_ndk",
"libnetdutils",
"libgmock",
],
}
cc_library_host_static {
name: "golddata_proto_host",
proto: {
export_proto_headers: true,
type: "full",
},
srcs: [
"golddata.proto",
],
}
cc_binary_host {
name: "resolv_gold_test_pbtxt2pb_host",
cflags: [
"-Wall",
"-Werror",
],
srcs: ["pbtxt2pb_converter_host.cpp"],
static_libs: [
"golddata_proto_host",
"libc++fs",
"libprotobuf-cpp-full",
],
}
genrule {
name: "resolv_gold_test_pbtxt2pb",
tools: [
"resolv_gold_test_pbtxt2pb_host",
"soong_zip",
],
srcs: ["testdata/*.pbtxt"],
// convert .pbtxt to .pb files; zip them as a single pb.zip.
cmd: "mkdir $(genDir)/pb && for fname in $(in); " +
"do $(location resolv_gold_test_pbtxt2pb_host) --in_file=$$fname " +
"--out_dir=$(genDir)/pb; done && " +
"$(location soong_zip) -o $(out) -C $(genDir)/pb -D $(genDir)/pb",
out: ["testdata/pb.zip"],
}
cc_library_static {
name: "golddata_proto",
defaults: ["netd_defaults"],
proto: {
export_proto_headers: true,
type: "lite",
},
srcs: [
"golddata.proto",
],
tidy: false,
}
cc_test {
name: "resolv_gold_test",
test_suites: ["general-tests", "mts"],
require_root: true,
// b/151392634, this is a workaround because MTS
// can not handle the test with testdata correctly.
// TODO: Remove the xml after MTS fixing the problem.
test_config: "resolv_gold_test_config.xml",
defaults: ["netd_defaults", "resolv_test_defaults"],
data: [":resolv_gold_test_pbtxt2pb"],
srcs: [
"resolv_gold_test.cpp",
],
header_libs: [
"libnetd_client_headers",
],
shared_libs: [
"libcrypto",
"libbinder_ndk",
"libssl",
],
static_libs: [
"dnsresolver_aidl_interface-unstable-ndk_platform",
"golddata_proto",
"libgmock",
"libnetd_resolv",
"libnetd_test_dnsresponder_ndk",
"libnetd_test_resolv_utils",
"libnetdutils",
"libprotobuf-cpp-lite",
"netd_aidl_interface-ndk_platform",
"netd_event_listener_interface-ndk_platform",
"server_configurable_flags",
"stats_proto",
],
// MTS test binary can't be built under compile_multilib = "both" and having test data.
// However, MTS coverage requires 32 bit test binary to run.
compile_multilib: "32",
}
cc_test {
name: "resolv_stress_test",
test_suites: ["general-tests", "mts"],
// This won't work with test_config
// require_root: true,
// TODO: Remove resolv_test_mts_coverage_defaults after mts coverage switched to 64-bit device.
defaults: ["netd_defaults", "resolv_test_defaults", "resolv_test_mts_coverage_defaults"],
srcs: [
"resolv_stress_test.cpp",
],
header_libs: [
"libnetd_resolv_headers",
],
shared_libs: [
"libbinder_ndk",
"libnetd_client",
],
static_libs: [
"dnsresolver_aidl_interface-ndk_platform",
"libgmock",
"libnetd_test_dnsresponder_ndk",
"libnetd_test_resolv_utils",
"libnetdutils",
"libutils",
"netd_event_listener_interface-ndk_platform",
"netd_aidl_interface-ndk_platform",
],
}
cc_test {
name: "resolv_integration_test",
test_suites: ["general-tests", "mts"],
require_root: true,
test_config_template: ":resolv_test_config_template",
defaults: ["netd_defaults", "resolv_test_defaults"],
tidy: false, // cuts test build time by > 1m30s
srcs: [
"dns_responder/dns_responder.cpp",
"dnsresolver_binder_test.cpp",
"resolv_integration_test.cpp",
],
header_libs: [
"dnsproxyd_protocol_headers",
"libnetd_resolv_headers",
],
// TODO: make static link libc++ work.
//stl: "libc++_static",
shared_libs: [
"libbinder_ndk",
"libnetd_client",
],
static_libs: [
"dnsresolver_aidl_interface-unstable-ndk_platform",
"libbpf_android",
"libcrypto_static",
"libgmock",
"libnetd_test_dnsresponder_ndk",
"libnetd_test_metrics_listener",
"libnetd_test_resolv_utils",
"libnetd_test_tun_interface",
"libnetd_test_utils",
"libnetdutils",
"libssl",
"libutils",
"netd_aidl_interface-ndk_platform",
"netd_event_listener_interface-ndk_platform",
],
// This test talks to the DnsResolver module over a binary protocol on a socket, so keep it as
// multilib setting is worth because we might be able to get some coverage for the case where
// 32bit apps talk to 64bit resolvers.
compile_multilib: "both",
multilib: {
lib32: {
suffix: "32",
},
lib64: {
suffix: "64",
},
},
}
cc_test_library {
name: "resolv_stats_test_utils",
srcs: [
"resolv_stats_test_utils.cpp"
],
defaults: ["netd_defaults", "resolv_test_defaults"],
export_include_dirs: ["."],
static_libs: [
"libgmock",
"libnetdutils",
"libprotobuf-cpp-lite",
"stats_proto",
],
}
cc_test {
name: "resolv_stats_test_utils_test",
srcs: [
"resolv_stats_test_utils_test.cpp",
],
defaults: ["netd_defaults", "resolv_test_defaults"],
test_suites: ["general-tests"],
test_mainline_modules: ["CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex"],
static_libs: [
"libgmock",
"libprotobuf-cpp-lite",
"resolv_stats_test_utils",
"stats_proto",
],
}