summaryrefslogtreecommitdiff
path: root/resolv/libnetd_resolv_test.cpp
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-07-27 23:06:32 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-07-27 23:06:32 +0000
commitc8400101938fddb8789bc8de87c713b382f569e4 (patch)
treeb39647c8c88f09a0294f0f8173b91fa14a790bdb /resolv/libnetd_resolv_test.cpp
parent5b1c32b39ed9157ea6eefadc141d866d9201ffce (diff)
parent72e88a79af497b294787c6ba7e232c3bd4f3c137 (diff)
Snap for 5761090 from 72e88a79af497b294787c6ba7e232c3bd4f3c137 to qt-c2f2-releaseq10.0-r9rebase
Change-Id: Ibea92fe8f60ff6049c82d9ada661b9b01129e6bd
Diffstat (limited to 'resolv/libnetd_resolv_test.cpp')
-rw-r--r--resolv/libnetd_resolv_test.cpp48
1 files changed, 33 insertions, 15 deletions
diff --git a/resolv/libnetd_resolv_test.cpp b/resolv/libnetd_resolv_test.cpp
index 7fc5669a..6e4b9eec 100644
--- a/resolv/libnetd_resolv_test.cpp
+++ b/resolv/libnetd_resolv_test.cpp
@@ -26,6 +26,7 @@
#include "getaddrinfo.h"
#include "gethnamaddr.h"
#include "resolv_cache.h"
+#include "stats.pb.h"
// TODO: make this dynamic and stop depending on implementation details.
constexpr unsigned int TEST_NETID = 30;
@@ -39,6 +40,8 @@ using android::base::StringPrintf;
namespace android {
namespace net {
+using android::net::NetworkDnsEventReported;
+
// Minimize class ResolverTest to be class TestBase because class TestBase doesn't need all member
// functions of class ResolverTest and class DnsResponderClient.
class TestBase : public ::testing::Test {
@@ -112,8 +115,9 @@ TEST_F(GetAddrInfoForNetContextTest, InvalidParameters) {
// Invalid hostname and servname.
// Both hostname and servname are null pointers. Expect error number EAI_NONAME.
struct addrinfo* result = nullptr;
+ NetworkDnsEventReported event;
int rv = android_getaddrinfofornetcontext(nullptr /*hostname*/, nullptr /*servname*/,
- nullptr /*hints*/, &mNetcontext, &result);
+ nullptr /*hints*/, &mNetcontext, &result, &event);
EXPECT_EQ(EAI_NONAME, rv);
if (result) {
freeaddrinfo(result);
@@ -167,8 +171,9 @@ TEST_F(GetAddrInfoForNetContextTest, InvalidParameters) {
.ai_next = config.ai_next,
};
+ NetworkDnsEventReported event;
rv = android_getaddrinfofornetcontext("localhost", nullptr /*servname*/, &hints,
- &mNetcontext, &result);
+ &mNetcontext, &result, &event);
EXPECT_EQ(config.expected_errorno, rv);
if (result) {
@@ -190,8 +195,9 @@ TEST_F(GetAddrInfoForNetContextTest, InvalidParameters_Family) {
.ai_family = family, // unsupported family
};
+ NetworkDnsEventReported event;
int rv = android_getaddrinfofornetcontext("localhost", nullptr /*servname*/, &hints,
- &mNetcontext, &result);
+ &mNetcontext, &result, &event);
EXPECT_EQ(EAI_FAMILY, rv);
if (result) freeaddrinfo(result);
@@ -237,8 +243,9 @@ TEST_F(GetAddrInfoForNetContextTest, InvalidParameters_MeaningfulSocktypeAndProt
.ai_socktype = socktype,
};
+ NetworkDnsEventReported event;
int rv = android_getaddrinfofornetcontext("localhost", nullptr /*servname*/, &hints,
- &mNetcontext, &result);
+ &mNetcontext, &result, &event);
EXPECT_EQ(EAI_BADHINTS, rv);
if (result) freeaddrinfo(result);
@@ -320,8 +327,9 @@ TEST_F(GetAddrInfoForNetContextTest, InvalidParameters_PortNameAndNumber) {
};
struct addrinfo* result = nullptr;
+ NetworkDnsEventReported event;
int rv = android_getaddrinfofornetcontext("localhost", config.servname, &hints,
- &mNetcontext, &result);
+ &mNetcontext, &result, &event);
EXPECT_EQ(config.expected_errorno, rv);
if (result) freeaddrinfo(result);
@@ -344,7 +352,9 @@ TEST_F(GetAddrInfoForNetContextTest, AlphabeticalHostname_NoData) {
// Want AAAA answer but DNS server has A answer only.
struct addrinfo* result = nullptr;
const addrinfo hints = {.ai_family = AF_INET6};
- int rv = android_getaddrinfofornetcontext("v4only", nullptr, &hints, &mNetcontext, &result);
+ NetworkDnsEventReported event;
+ int rv = android_getaddrinfofornetcontext("v4only", nullptr, &hints, &mNetcontext, &result,
+ &event);
EXPECT_LE(1U, GetNumQueries(dns, v4_host_name));
EXPECT_TRUE(result == nullptr);
EXPECT_EQ(EAI_NODATA, rv);
@@ -382,8 +392,9 @@ TEST_F(GetAddrInfoForNetContextTest, AlphabeticalHostname) {
struct addrinfo* result = nullptr;
const struct addrinfo hints = {.ai_family = config.ai_family};
- int rv =
- android_getaddrinfofornetcontext("sawadee", nullptr, &hints, &mNetcontext, &result);
+ NetworkDnsEventReported event;
+ int rv = android_getaddrinfofornetcontext("sawadee", nullptr, &hints, &mNetcontext, &result,
+ &event);
EXPECT_EQ(0, rv);
EXPECT_TRUE(result != nullptr);
EXPECT_EQ(1U, GetNumQueries(dns, host_name));
@@ -429,8 +440,9 @@ TEST_F(GetAddrInfoForNetContextTest, ServerResponseError) {
struct addrinfo* result = nullptr;
const struct addrinfo hints = {.ai_family = AF_UNSPEC};
- int rv =
- android_getaddrinfofornetcontext(host_name, nullptr, &hints, &mNetcontext, &result);
+ NetworkDnsEventReported event;
+ int rv = android_getaddrinfofornetcontext(host_name, nullptr, &hints, &mNetcontext, &result,
+ &event);
EXPECT_EQ(config.expected_errorno, rv);
if (result) freeaddrinfo(result);
@@ -453,7 +465,9 @@ TEST_F(GetAddrInfoForNetContextTest, ServerTimeout) {
struct addrinfo* result = nullptr;
const struct addrinfo hints = {.ai_family = AF_UNSPEC};
- int rv = android_getaddrinfofornetcontext("hello", nullptr, &hints, &mNetcontext, &result);
+ NetworkDnsEventReported event;
+ int rv = android_getaddrinfofornetcontext("hello", nullptr, &hints, &mNetcontext, &result,
+ &event);
EXPECT_EQ(NETD_RESOLV_TIMEOUT, rv);
if (result) freeaddrinfo(result);
@@ -488,8 +502,9 @@ TEST_F(GetHostByNameForNetContextTest, AlphabeticalHostname) {
dns.clearQueries();
struct hostent* hp = nullptr;
+ NetworkDnsEventReported event;
int rv = android_gethostbynamefornetcontext("jiababuei", config.ai_family, &mNetcontext,
- &hp);
+ &hp, &event);
EXPECT_EQ(0, rv);
EXPECT_TRUE(hp != nullptr);
EXPECT_EQ(1U, GetNumQueries(dns, host_name));
@@ -512,7 +527,8 @@ TEST_F(GetHostByNameForNetContextTest, NoData) {
// Want AAAA answer but DNS server has A answer only.
struct hostent* hp = nullptr;
- int rv = android_gethostbynamefornetcontext("v4only", AF_INET6, &mNetcontext, &hp);
+ NetworkDnsEventReported event;
+ int rv = android_gethostbynamefornetcontext("v4only", AF_INET6, &mNetcontext, &hp, &event);
EXPECT_LE(1U, GetNumQueries(dns, v4_host_name));
EXPECT_TRUE(hp == nullptr);
EXPECT_EQ(EAI_NODATA, rv);
@@ -555,7 +571,8 @@ TEST_F(GetHostByNameForNetContextTest, ServerResponseError) {
mDefaultSearchDomains, &mDefaultParams_Binder));
struct hostent* hp = nullptr;
- int rv = android_gethostbynamefornetcontext(host_name, AF_INET, &mNetcontext, &hp);
+ NetworkDnsEventReported event;
+ int rv = android_gethostbynamefornetcontext(host_name, AF_INET, &mNetcontext, &hp, &event);
EXPECT_TRUE(hp == nullptr);
EXPECT_EQ(config.expected_errorno, rv);
}
@@ -576,7 +593,8 @@ TEST_F(GetHostByNameForNetContextTest, ServerTimeout) {
mDefaultSearchDomains, &mDefaultParams_Binder));
struct hostent* hp = nullptr;
- int rv = android_gethostbynamefornetcontext(host_name, AF_INET, &mNetcontext, &hp);
+ NetworkDnsEventReported event;
+ int rv = android_gethostbynamefornetcontext(host_name, AF_INET, &mNetcontext, &hp, &event);
EXPECT_EQ(NETD_RESOLV_TIMEOUT, rv);
}