aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej Żenczykowski <maze@google.com>2023-11-06 04:17:09 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-11-06 04:17:09 +0000
commit04c78874e7708ede1448edaa5bd9779ad84b567f (patch)
tree92b24b1bd5f46aaad380e896bac0bb243d2da7e3
parent1d3548c519cd8ac40125f7edd80a0d7c61e991bf (diff)
parenta65c72b68bff64fc63834f84a92b957f9cc7bd88 (diff)
downloadDnsResolver-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.bp1
-rw-r--r--tests/resolv_integration_test.cpp6
-rw-r--r--tests/resolv_private_dns_test.cpp2
-rw-r--r--tests/resolv_test_utils.h12
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)