aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Android.bp15
-rw-r--r--tests/resolv_cache_unit_test.cpp3
-rw-r--r--tests/resolv_integration_test.cpp64
3 files changed, 41 insertions, 41 deletions
diff --git a/tests/Android.bp b/tests/Android.bp
index 72fb008b..9d8f1e7f 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -271,6 +271,7 @@ cc_test {
"libstatslog_resolv",
"libstatspush_compat",
"libsysutils",
+ "libutils",
"resolv_stats_test_utils",
"server_configurable_flags",
"stats_proto",
@@ -377,6 +378,18 @@ cc_defaults {
"server_configurable_flags",
"stats_proto",
],
+ target: {
+ android: {
+ shared_libs: [
+ "libutils",
+ ],
+ },
+ host: {
+ static_libs: [
+ "libutils",
+ ],
+ },
+ },
fuzz_config: {
cc: [
"cken@google.com",
@@ -421,14 +434,12 @@ cc_fuzz {
shared_libs: [
"libbinder_ndk",
"libbinder",
- "libutils",
],
},
host: {
static_libs: [
"libbinder_ndk",
"libbinder",
- "libutils",
],
},
darwin: {
diff --git a/tests/resolv_cache_unit_test.cpp b/tests/resolv_cache_unit_test.cpp
index 9667d131..defd2da6 100644
--- a/tests/resolv_cache_unit_test.cpp
+++ b/tests/resolv_cache_unit_test.cpp
@@ -630,9 +630,6 @@ class ResolvCacheParameterizedTest : public ResolvCacheTest,
INSTANTIATE_TEST_SUITE_P(MaxCacheEntries, ResolvCacheParameterizedTest,
testing::Values(MAX_ENTRIES_LOWER_BOUND - 1, MAX_ENTRIES_UPPER_BOUND + 1),
[](const testing::TestParamInfo<int>& info) {
- if (info.param < 0) { // '-' is an invalid character in test name
- return "negative_" + std::to_string(abs(info.param));
- }
return std::to_string(info.param);
});
diff --git a/tests/resolv_integration_test.cpp b/tests/resolv_integration_test.cpp
index 8623e153..ff62da45 100644
--- a/tests/resolv_integration_test.cpp
+++ b/tests/resolv_integration_test.cpp
@@ -4099,54 +4099,46 @@ TEST_F(ResolverTest, GetHostByName2_Dns64QuerySpecialUseIPv4Addresses) {
TEST_F(ResolverTest, PrefixDiscoveryBypassTls) {
constexpr char listen_addr[] = "::1";
- constexpr char cleartext_port[] = "53";
- constexpr char tls_port[] = "853";
constexpr char dns64_name[] = "ipv4only.arpa.";
const std::vector<std::string> servers = {listen_addr};
test::DNSResponder dns(listen_addr);
StartDns(dns, {{dns64_name, ns_type::ns_t_aaaa, "64:ff9b::192.0.0.170"}});
- test::DnsTlsFrontend tls(listen_addr, tls_port, listen_addr, cleartext_port);
+ test::DnsTlsFrontend tls(listen_addr, "853", listen_addr, "53");
ASSERT_TRUE(tls.startServer());
- // Setup OPPORTUNISTIC mode and wait for the validation complete.
- ASSERT_TRUE(mDnsClient.SetResolversFromParcel(
- ResolverParams::Builder().setDnsServers(servers).setDotServers(servers).build()));
- EXPECT_TRUE(WaitForPrivateDnsValidation(tls.listen_address(), true));
- EXPECT_TRUE(tls.waitForQueries(1));
- tls.clearQueries();
-
- // Start NAT64 prefix discovery and wait for it complete.
- EXPECT_TRUE(mDnsClient.resolvService()->startPrefix64Discovery(TEST_NETID).isOk());
- EXPECT_TRUE(WaitForNat64Prefix(EXPECT_FOUND));
+ for (const std::string_view dnsMode : {"OPPORTUNISTIC", "STRICT"}) {
+ SCOPED_TRACE(fmt::format("testConfig: [{}]", dnsMode));
+ auto builder = ResolverParams::Builder().setDnsServers(servers).setDotServers(servers);
+ if (dnsMode == "STRICT") {
+ builder.setPrivateDnsProvider(kDefaultPrivateDnsHostName);
+ }
+ ASSERT_TRUE(mDnsClient.SetResolversFromParcel(builder.build()));
+ EXPECT_TRUE(WaitForPrivateDnsValidation(tls.listen_address(), true));
+ EXPECT_TRUE(tls.waitForQueries(1));
+ tls.clearQueries();
- // Verify it bypassed TLS even though there's a TLS server available.
- EXPECT_EQ(0, tls.queries()) << dns.dumpQueries();
- EXPECT_EQ(1U, GetNumQueries(dns, dns64_name)) << dns.dumpQueries();
+ // Start NAT64 prefix discovery.
+ EXPECT_TRUE(mDnsClient.resolvService()->startPrefix64Discovery(TEST_NETID).isOk());
+ EXPECT_TRUE(WaitForNat64Prefix(EXPECT_FOUND));
- // Restart the testing network to reset the cache.
- mDnsClient.TearDown();
- mDnsClient.SetUp();
- dns.clearQueries();
+ // Verify that the DNS query for the NAT64 prefix bypassed private DNS.
+ EXPECT_EQ(0, tls.queries()) << dns.dumpQueries();
+ EXPECT_EQ(1U, GetNumQueries(dns, dns64_name)) << dns.dumpQueries();
- // Setup STRICT mode and wait for the validation complete.
- ASSERT_TRUE(mDnsClient.SetResolversFromParcel(
- ResolverParams::Builder()
- .setDnsServers(servers)
- .setDotServers(servers)
- .setPrivateDnsProvider(kDefaultPrivateDnsHostName)
- .build()));
- EXPECT_TRUE(WaitForPrivateDnsValidation(tls.listen_address(), true));
- EXPECT_TRUE(tls.waitForQueries(1));
- tls.clearQueries();
+ // Stop the prefix discovery to make DnsResolver send the prefix-removed event
+ // earlier. Without this, DnsResolver still sends the event once the network
+ // is destroyed; however, it will fail the next test if the test unexpectedly
+ // receives the event that it doesn't want.
+ EXPECT_TRUE(mDnsClient.resolvService()->stopPrefix64Discovery(TEST_NETID).isOk());
+ EXPECT_TRUE(WaitForNat64Prefix(EXPECT_NOT_FOUND));
- // Start NAT64 prefix discovery and wait for it to complete.
- EXPECT_TRUE(mDnsClient.resolvService()->startPrefix64Discovery(TEST_NETID).isOk());
- EXPECT_TRUE(WaitForNat64Prefix(EXPECT_FOUND));
+ dns.clearQueries();
+ EXPECT_TRUE(mDnsClient.resolvService()->flushNetworkCache(TEST_NETID).isOk());
+ }
- // Verify it bypassed TLS despite STRICT mode.
- EXPECT_EQ(0, tls.queries()) << dns.dumpQueries();
- EXPECT_EQ(1U, GetNumQueries(dns, dns64_name)) << dns.dumpQueries();
+ EXPECT_EQ(0, sDnsMetricsListener->getUnexpectedNat64PrefixUpdates());
+ EXPECT_EQ(0, sUnsolicitedEventListener->getUnexpectedNat64PrefixUpdates());
}
TEST_F(ResolverTest, SetAndClearNat64Prefix) {