diff options
author | Maciej Żenczykowski <maze@google.com> | 2023-11-06 04:17:09 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-06 04:17:09 +0000 |
commit | 04c78874e7708ede1448edaa5bd9779ad84b567f (patch) | |
tree | 92b24b1bd5f46aaad380e896bac0bb243d2da7e3 | |
parent | 1d3548c519cd8ac40125f7edd80a0d7c61e991bf (diff) | |
parent | a65c72b68bff64fc63834f84a92b957f9cc7bd88 (diff) | |
download | DnsResolver-04c78874e7708ede1448edaa5bd9779ad84b567f.tar.gz |
Merge changes from topic "DNS_test_w_bpf" into main am: a65c72b68b
Original change: https://android-review.googlesource.com/c/platform/packages/modules/DnsResolver/+/2815923
Change-Id: I37c8b6eb38de4c5a5986f511ebb7b399643df20a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | tests/Android.bp | 1 | ||||
-rw-r--r-- | tests/resolv_integration_test.cpp | 6 | ||||
-rw-r--r-- | tests/resolv_private_dns_test.cpp | 2 | ||||
-rw-r--r-- | tests/resolv_test_utils.h | 12 |
4 files changed, 19 insertions, 2 deletions
diff --git a/tests/Android.bp b/tests/Android.bp index 9d8f1e7f..bedd2f46 100644 --- a/tests/Android.bp +++ b/tests/Android.bp @@ -201,6 +201,7 @@ cc_test { "libnetd_test_resolv_utils", "libnetdutils", "libssl", + "libc++fs", "libcutils", "netd_aidl_interface-lateststable-ndk", "netd_event_listener_interface-lateststable-ndk", diff --git a/tests/resolv_integration_test.cpp b/tests/resolv_integration_test.cpp index 6706e7c5..38d5567e 100644 --- a/tests/resolv_integration_test.cpp +++ b/tests/resolv_integration_test.cpp @@ -127,6 +127,8 @@ using android::netdutils::ScopedAddrinfo; using android::netdutils::Stopwatch; using android::netdutils::toHex; +namespace fs = std::filesystem; + namespace { std::pair<ScopedAddrinfo, int> safe_getaddrinfo_time_taken(const char* node, const char* service, @@ -4505,9 +4507,9 @@ TEST_F(ResolverTest, GetAddrinfo_BlockDnsQueryWithUidRule) { const char* hname; const int expectedErrorCode; } kTestData[] = { - {host_name, isAtLeastT() ? EAI_FAIL : EAI_NODATA}, + {host_name, (isAtLeastT() && fs::exists(DNS_HELPER)) ? EAI_FAIL : EAI_NODATA}, // To test the query with search domain. - {"howdy", isAtLeastT() ? EAI_FAIL : EAI_AGAIN}, + {"howdy", (isAtLeastT() && fs::exists(DNS_HELPER)) ? EAI_FAIL : EAI_AGAIN}, }; INetd* netdService = mDnsClient.netdService(); diff --git a/tests/resolv_private_dns_test.cpp b/tests/resolv_private_dns_test.cpp index 3e270c9c..f62495ec 100644 --- a/tests/resolv_private_dns_test.cpp +++ b/tests/resolv_private_dns_test.cpp @@ -552,6 +552,8 @@ TEST_P(TransportParameterizedTest, MdnsGetAddrInfo_fallback) { TEST_P(TransportParameterizedTest, BlockDnsQuery) { SKIP_IF_BEFORE_T; + SKIP_IF_DEPENDENT_LIB_DOES_NOT_EXIST(DNS_HELPER); + constexpr char ptr_name[] = "v4v6.example.com."; // PTR record for IPv6 address 2001:db8::102:304 constexpr char ptr_addr_v6[] = diff --git a/tests/resolv_test_utils.h b/tests/resolv_test_utils.h index 1406d494..540dd2b6 100644 --- a/tests/resolv_test_utils.h +++ b/tests/resolv_test_utils.h @@ -20,6 +20,7 @@ #include <arpa/nameser.h> #include <netdb.h> +#include <filesystem> #include <functional> #include <string> #include <vector> @@ -437,3 +438,14 @@ void RemoveMdnsRoute(); GTEST_SKIP() << "Skipping test because SDK version is less than T."; \ } \ } while (0) + +static const std::string DNS_HELPER = + android::bpf::isUserspace64bit() + ? "/apex/com.android.tethering/lib64/libcom.android.tethering.dns_helper.so" + : "/apex/com.android.tethering/lib/libcom.android.tethering.dns_helper.so"; + +#define SKIP_IF_DEPENDENT_LIB_DOES_NOT_EXIST(libPath) \ + do { \ + if (!std::filesystem::exists(libPath)) \ + GTEST_SKIP() << "Required " << (libPath) << " not found."; \ + } while (0) |