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: [
        "libnetd_test_dnsresponder",
        "libnetdutils",
    ],
}

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",
    ],
}

cc_test {
    name: "resolv_gold_test",
    test_suites: ["device-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: "prefer32",
}

cc_test {
    name: "resolv_stress_test",
    test_suites: ["device-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: ["device-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: [
        "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: ["device-tests"],
    static_libs: [
        "libgmock",
        "libprotobuf-cpp-lite",
        "resolv_stats_test_utils",
        "stats_proto",
    ],
}
