Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8215379 authored by Luke Huang's avatar Luke Huang
Browse files

Make resolv_integration_test run on Q devices

use libbinder_ndk for resolv_intergration_test
Also statically link other libs

Bug: 144850003
Test: atest
      manual test in Q + M4 resolv module

Change-Id: I1c8a880495afa3764fe6f720e58f46bde18ce872
parent 6ba673b5
Loading
Loading
Loading
Loading
+1 −39
Original line number Diff line number Diff line
@@ -152,45 +152,7 @@ cc_library_static {
    ],
}

cc_test {
    name: "resolv_integration_test",
    test_suites: ["device-tests"],
    require_root: true,
    defaults: ["netd_defaults"],
    tidy: false, // cuts test build time by > 1m30s
    srcs: [
        "tests/dns_responder/dns_responder.cpp",
        "dnsresolver_binder_test.cpp",
        "resolv_integration_test.cpp",
    ],
    header_libs: [
        "libnetd_resolv_headers",
    ],
    shared_libs: [
        "libbpf_android",
        "libbinder",
        "libcrypto",
        "liblog",
        "libnetd_client",
        "libssl",
        "libutils",
    ],
    static_libs: [
        "dnsresolver_aidl_interface-unstable-cpp",
        "libbase",
        "libgmock",
        "libnetd_test_dnsresponder",
        "libnetd_test_metrics_listener",
        "libnetd_test_resolv_utils",
        "libnetd_test_tun_interface",
        "libnetd_test_utils",
        "libnetdutils",
        "netd_aidl_interface-cpp",
        "netd_event_listener_interface-cpp",
    ],
    compile_multilib: "both",
}

// TODO: Move this test to tests/
cc_test {
    name: "resolv_unit_test",
    test_suites: ["device-tests"],
+47 −10
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ cc_test_library {
    static_libs: [
        "libnetd_test_dnsresponder",
        "libnetdutils",
        "dnsresolver_aidl_interface-cpp",
    ],
}

@@ -79,22 +78,60 @@ cc_test {
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "libbinder_ndk",
        "libnetd_client",
        "libutils",
    ],
    static_libs: [
        "dnsresolver_aidl_interface-ndk_platform",
        "libgmock",
        "libnetd_test_dnsresponder",
        "libnetd_test_dnsresponder_ndk",
        "libnetd_test_resolv_utils",
        "libnetdutils",
        "netd_aidl_interface-cpp",
        "netd_event_listener_interface-cpp",
        "dnsresolver_aidl_interface-cpp",
        "netd_event_listener_interface-ndk_platform",
        "netd_aidl_interface-ndk_platform",
    ],
    compile_multilib: "both",
}

cc_test {
    name: "resolv_integration_test",
    test_suites: ["device-tests"],
    require_root: true,
    defaults: ["netd_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",
        "libnetd_resolv_internal_headers",
    ],
    // TODO: make static link libc++ work.
    //stl: "libc++_static",
    shared_libs: [
        "libbinder_ndk",
        "libnetd_client",
    ],
    static_libs: [
        "dnsresolver_aidl_interface-unstable-ndk_platform",
        "libbase",
        "libbpf_android",
        "libcrypto_static",
        "libgmock",
        "liblog",
        "libnetdutils",
        "libnetd_test_resolv_utils",
        "libnetd_test_tun_interface",
        "libnetd_test_utils",
        "libnetd_test_metrics_listener",
        "libnetd_test_dnsresponder_ndk",
        "libssl",
        "libutils",
        "netd_aidl_interface-ndk_platform",
        "netd_event_listener_interface-ndk_platform",
    ],
    compile_multilib: "both",
    sanitize: {
        address: true,
        recover: ["all"],
    },
}
+4 −4
Original line number Diff line number Diff line
@@ -7,11 +7,11 @@ cc_test_library {
        "test_metrics.cpp",
    ],
    shared_libs: [
        "libbase",
        "libbinder",
        "libutils",
        "libbinder_ndk",
    ],
    static_libs: [
        "netd_event_listener_interface-cpp",
        "libbase",
        "libutils",
        "netd_event_listener_interface-ndk_platform",
    ],
}
+23 −23
Original line number Diff line number Diff line
@@ -20,51 +20,51 @@ namespace android {
namespace net {
namespace metrics {

android::binder::Status BaseMetricsListener::onDnsEvent(
::ndk::ScopedAStatus BaseMetricsListener::onDnsEvent(
        int32_t /*netId*/, int32_t /*eventType*/, int32_t /*returnCode*/, int32_t /*latencyMs*/,
        const std::string& /*hostname*/, const ::std::vector<std::string>& /*ipAddresses*/,
        int32_t /*ipAddressesCount*/, int32_t /*uid*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

android::binder::Status BaseMetricsListener::onPrivateDnsValidationEvent(
        int32_t /*netId*/, const ::android::String16& /*ipAddress*/,
        const ::android::String16& /*hostname*/, bool /*validated*/) {
::ndk::ScopedAStatus BaseMetricsListener::onPrivateDnsValidationEvent(
        int32_t /*netId*/, const std::string& /*ipAddress*/, const std::string& /*hostname*/,
        bool /*validated*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

android::binder::Status BaseMetricsListener::onConnectEvent(int32_t /*netId*/, int32_t /*error*/,
::ndk::ScopedAStatus BaseMetricsListener::onConnectEvent(int32_t /*netId*/, int32_t /*error*/,
                                                         int32_t /*latencyMs*/,
                                                            const ::android::String16& /*ipAddr*/,
                                                         const std::string& /*ipAddr*/,
                                                         int32_t /*port*/, int32_t /*uid*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

android::binder::Status BaseMetricsListener::onWakeupEvent(
        const ::android::String16& /*prefix*/, int32_t /*uid*/, int32_t /*ethertype*/,
        int32_t /*ipNextHeader*/, const ::std::vector<uint8_t>& /*dstHw*/,
        const ::android::String16& /*srcIp*/, const ::android::String16& /*dstIp*/,
        int32_t /*srcPort*/, int32_t /*dstPort*/, int64_t /*timestampNs*/) {
::ndk::ScopedAStatus BaseMetricsListener::onWakeupEvent(
        const std::string& /*prefix*/, int32_t /*uid*/, int32_t /*ethertype*/,
        int32_t /*ipNextHeader*/, const ::std::vector<int8_t>& /*dstHw*/,
        const std::string& /*srcIp*/, const std::string& /*dstIp*/, int32_t /*srcPort*/,
        int32_t /*dstPort*/, int64_t /*timestampNs*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

android::binder::Status BaseMetricsListener::onTcpSocketStatsEvent(
::ndk::ScopedAStatus BaseMetricsListener::onTcpSocketStatsEvent(
        const ::std::vector<int32_t>& /*networkIds*/, const ::std::vector<int32_t>& /*sentPackets*/,
        const ::std::vector<int32_t>& /*lostPackets*/, const ::std::vector<int32_t>& /*rttUs*/,
        const ::std::vector<int32_t>& /*sentAckDiffMs*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

android::binder::Status BaseMetricsListener::onNat64PrefixEvent(
        int32_t /*netId*/, bool /*added*/, const ::std::string& /*prefixString*/,
::ndk::ScopedAStatus BaseMetricsListener::onNat64PrefixEvent(int32_t /*netId*/, bool /*added*/,
                                                             const ::std::string& /*prefixString*/,
                                                             int32_t /*prefixLength*/) {
    // default no-op
    return android::binder::Status::ok();
    return ::ndk::ScopedAStatus(AStatus_newOk());
};

}  // namespace metrics
+26 −24
Original line number Diff line number Diff line
@@ -19,41 +19,43 @@
#include <string>
#include <vector>

#include "android/net/metrics/BnNetdEventListener.h"
#include <aidl/android/net/metrics/BnNetdEventListener.h>

namespace android {
namespace net {
namespace metrics {

class BaseMetricsListener : public BnNetdEventListener {
class BaseMetricsListener : public aidl::android::net::metrics::BnNetdEventListener {
  public:
    BaseMetricsListener() = default;
    ~BaseMetricsListener() = default;

    virtual android::binder::Status onDnsEvent(int32_t /*netId*/, int32_t /*eventType*/,
    virtual ::ndk::ScopedAStatus onDnsEvent(int32_t /*netId*/, int32_t /*eventType*/,
                                            int32_t /*returnCode*/, int32_t /*latencyMs*/,
                                            const std::string& /*hostname*/,
                                            const ::std::vector<std::string>& /*ipAddresses*/,
                                               int32_t /*ipAddressesCount*/,
                                               int32_t /*uid*/) override;
    virtual android::binder::Status onPrivateDnsValidationEvent(
            int32_t /*netId*/, const ::android::String16& /*ipAddress*/,
            const ::android::String16& /*hostname*/, bool /*validated*/) override;
    virtual android::binder::Status onConnectEvent(int32_t /*netId*/, int32_t /*error*/,
                                            int32_t /*ipAddressesCount*/, int32_t /*uid*/) override;
    virtual ::ndk::ScopedAStatus onPrivateDnsValidationEvent(int32_t /*netId*/,
                                                             const std::string& /*ipAddress*/,
                                                             const std::string& /*hostname*/,
                                                             bool /*validated*/) override;
    virtual ::ndk::ScopedAStatus onConnectEvent(int32_t /*netId*/, int32_t /*error*/,
                                                int32_t /*latencyMs*/,
                                                   const ::android::String16& /*ipAddr*/,
                                                   int32_t /*port*/, int32_t /*uid*/) override;
    virtual android::binder::Status onWakeupEvent(
            const ::android::String16& /*prefix*/, int32_t /*uid*/, int32_t /*ethertype*/,
            int32_t /*ipNextHeader*/, const ::std::vector<uint8_t>& /*dstHw*/,
            const ::android::String16& /*srcIp*/, const ::android::String16& /*dstIp*/,
            int32_t /*srcPort*/, int32_t /*dstPort*/, int64_t /*timestampNs*/) override;
    virtual android::binder::Status onTcpSocketStatsEvent(
                                                const std::string& /*ipAddr*/, int32_t /*port*/,
                                                int32_t /*uid*/) override;
    virtual ::ndk::ScopedAStatus onWakeupEvent(const std::string& /*prefix*/, int32_t /*uid*/,
                                               int32_t /*ethertype*/, int32_t /*ipNextHeader*/,
                                               const ::std::vector<int8_t>& /*dstHw*/,
                                               const std::string& /*srcIp*/,
                                               const std::string& /*dstIp*/, int32_t /*srcPort*/,
                                               int32_t /*dstPort*/,
                                               int64_t /*timestampNs*/) override;
    virtual ::ndk::ScopedAStatus onTcpSocketStatsEvent(
            const ::std::vector<int32_t>& /*networkIds*/,
            const ::std::vector<int32_t>& /*sentPackets*/,
            const ::std::vector<int32_t>& /*lostPackets*/, const ::std::vector<int32_t>& /*rttUs*/,
            const ::std::vector<int32_t>& /*sentAckDiffMs*/) override;
    virtual android::binder::Status onNat64PrefixEvent(int32_t /*netId*/, bool /*added*/,
    virtual ::ndk::ScopedAStatus onNat64PrefixEvent(int32_t /*netId*/, bool /*added*/,
                                                    const ::std::string& /*prefixString*/,
                                                    int32_t /*prefixLength*/) override;
};
Loading