Loading tests/dns_responder/dns_responder_client_ndk.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,20 @@ bool DnsResponderClient::GetResolverInfo(aidl::android::net::IDnsResolver* dnsRe return ResolverStats::decodeAll(stats32, stats); } bool DnsResponderClient::isRemoteVersionSupported( aidl::android::net::IDnsResolver* dnsResolverService, int requiredVersion) { int remoteVersion = 0; if (!dnsResolverService->getInterfaceVersion(&remoteVersion).isOk()) { LOG(FATAL) << "Can't get 'dnsresolver' remote version"; } if (remoteVersion < requiredVersion) { LOG(WARNING) << StringPrintf("Remote version: %d < Required version: %d", remoteVersion, requiredVersion); return false; } return true; } bool DnsResponderClient::SetResolversForNetwork(const std::vector<std::string>& servers, const std::vector<std::string>& domains, const std::vector<int>& params) { Loading tests/dns_responder/dns_responder_client_ndk.h +12 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,15 @@ inline const std::vector<int> kDefaultParams = { 2, // retry count }; #define SKIP_IF_REMOTE_VERSION_LESS_THAN(service, version) \ do { \ if (!DnsResponderClient::isRemoteVersionSupported(service, version)) { \ std::cerr << " Skip test. Remote version is too old, required version: " << version \ << std::endl; \ return; \ } \ } while (0) class DnsResponderClient { public: struct Mapping { Loading Loading @@ -74,6 +83,9 @@ class DnsResponderClient { bool SetResolversFromParcel(const aidl::android::net::ResolverParamsParcel& resolverParams); static bool isRemoteVersionSupported(aidl::android::net::IDnsResolver* dnsResolverService, int enabledVersion); static bool GetResolverInfo(aidl::android::net::IDnsResolver* dnsResolverService, unsigned netId, std::vector<std::string>* servers, std::vector<std::string>* domains, Loading tests/dnsresolver_binder_test.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -322,6 +322,7 @@ TEST_F(DnsResolverBinderTest, CreateDestroyNetworkCache) { } TEST_F(DnsResolverBinderTest, FlushNetworkCache) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsResolver.get(), 4); // cache has beed created in DnsResolverBinderTest constructor EXPECT_TRUE(mDnsResolver->flushNetworkCache(TEST_NETID).isOk()); EXPECT_EQ(ENONET, mDnsResolver->flushNetworkCache(-1).getServiceSpecificError()); Loading tests/resolv_integration_test.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -3553,6 +3553,7 @@ TEST_F(ResolverTest, ConnectTlsServerTimeout) { } TEST_F(ResolverTest, FlushNetworkCache) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); test::DNSResponder dns; StartDns(dns, {{kHelloExampleCom, ns_type::ns_t_a, kHelloExampleComAddrV4}}); ASSERT_TRUE(mDnsClient.SetResolversForNetwork()); Loading @@ -3571,6 +3572,7 @@ TEST_F(ResolverTest, FlushNetworkCache) { } TEST_F(ResolverTest, FlushNetworkCache_random) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); constexpr int num_flush = 10; constexpr int num_queries = 20; test::DNSResponder dns; Loading @@ -3596,6 +3598,7 @@ TEST_F(ResolverTest, FlushNetworkCache_random) { // flush cache while one query is wait-for-response, another is pending. TEST_F(ResolverTest, FlushNetworkCache_concurrent) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); const char* listen_addr1 = "127.0.0.9"; const char* listen_addr2 = "127.0.0.10"; test::DNSResponder dns1(listen_addr1); Loading Loading
tests/dns_responder/dns_responder_client_ndk.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -139,6 +139,20 @@ bool DnsResponderClient::GetResolverInfo(aidl::android::net::IDnsResolver* dnsRe return ResolverStats::decodeAll(stats32, stats); } bool DnsResponderClient::isRemoteVersionSupported( aidl::android::net::IDnsResolver* dnsResolverService, int requiredVersion) { int remoteVersion = 0; if (!dnsResolverService->getInterfaceVersion(&remoteVersion).isOk()) { LOG(FATAL) << "Can't get 'dnsresolver' remote version"; } if (remoteVersion < requiredVersion) { LOG(WARNING) << StringPrintf("Remote version: %d < Required version: %d", remoteVersion, requiredVersion); return false; } return true; } bool DnsResponderClient::SetResolversForNetwork(const std::vector<std::string>& servers, const std::vector<std::string>& domains, const std::vector<int>& params) { Loading
tests/dns_responder/dns_responder_client_ndk.h +12 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,15 @@ inline const std::vector<int> kDefaultParams = { 2, // retry count }; #define SKIP_IF_REMOTE_VERSION_LESS_THAN(service, version) \ do { \ if (!DnsResponderClient::isRemoteVersionSupported(service, version)) { \ std::cerr << " Skip test. Remote version is too old, required version: " << version \ << std::endl; \ return; \ } \ } while (0) class DnsResponderClient { public: struct Mapping { Loading Loading @@ -74,6 +83,9 @@ class DnsResponderClient { bool SetResolversFromParcel(const aidl::android::net::ResolverParamsParcel& resolverParams); static bool isRemoteVersionSupported(aidl::android::net::IDnsResolver* dnsResolverService, int enabledVersion); static bool GetResolverInfo(aidl::android::net::IDnsResolver* dnsResolverService, unsigned netId, std::vector<std::string>* servers, std::vector<std::string>* domains, Loading
tests/dnsresolver_binder_test.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -322,6 +322,7 @@ TEST_F(DnsResolverBinderTest, CreateDestroyNetworkCache) { } TEST_F(DnsResolverBinderTest, FlushNetworkCache) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsResolver.get(), 4); // cache has beed created in DnsResolverBinderTest constructor EXPECT_TRUE(mDnsResolver->flushNetworkCache(TEST_NETID).isOk()); EXPECT_EQ(ENONET, mDnsResolver->flushNetworkCache(-1).getServiceSpecificError()); Loading
tests/resolv_integration_test.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -3553,6 +3553,7 @@ TEST_F(ResolverTest, ConnectTlsServerTimeout) { } TEST_F(ResolverTest, FlushNetworkCache) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); test::DNSResponder dns; StartDns(dns, {{kHelloExampleCom, ns_type::ns_t_a, kHelloExampleComAddrV4}}); ASSERT_TRUE(mDnsClient.SetResolversForNetwork()); Loading @@ -3571,6 +3572,7 @@ TEST_F(ResolverTest, FlushNetworkCache) { } TEST_F(ResolverTest, FlushNetworkCache_random) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); constexpr int num_flush = 10; constexpr int num_queries = 20; test::DNSResponder dns; Loading @@ -3596,6 +3598,7 @@ TEST_F(ResolverTest, FlushNetworkCache_random) { // flush cache while one query is wait-for-response, another is pending. TEST_F(ResolverTest, FlushNetworkCache_concurrent) { SKIP_IF_REMOTE_VERSION_LESS_THAN(mDnsClient.resolvService(), 4); const char* listen_addr1 = "127.0.0.9"; const char* listen_addr2 = "127.0.0.10"; test::DNSResponder dns1(listen_addr1); Loading