Explicitly require root privs for tests requiring it
These tests currently require root privs to interact with netd:
resolv_integration_test
libnetdbpf_test
netd_unit_test
netd_integration_test
Bug: 134891412
Test: atest
Change-Id: I3e286fd7e7603e30b4f4d655fe311c35e05fbc78
diff --git a/libnetdbpf/Android.bp b/libnetdbpf/Android.bp
index bd25535..b5fefac 100644
--- a/libnetdbpf/Android.bp
+++ b/libnetdbpf/Android.bp
@@ -35,6 +35,7 @@
cc_test {
name: "libnetdbpf_test",
test_suites: ["device-tests"],
+ require_root: true,
srcs: [
"BpfNetworkStatsTest.cpp",
],
diff --git a/resolv/Android.bp b/resolv/Android.bp
index 0b14ffe..91ede75 100644
--- a/resolv/Android.bp
+++ b/resolv/Android.bp
@@ -142,6 +142,7 @@
cc_test {
name: "resolv_integration_test",
test_suites: ["device-tests"],
+ require_root: true,
defaults: ["netd_defaults"],
srcs: [
"dns_responder/dns_responder.cpp",
diff --git a/resolv/dns_responder/dns_responder_client.cpp b/resolv/dns_responder/dns_responder_client.cpp
index fd2a89c..34cfdda 100644
--- a/resolv/dns_responder/dns_responder_client.cpp
+++ b/resolv/dns_responder/dns_responder_client.cpp
@@ -156,6 +156,9 @@
// binder setup
auto binder = android::defaultServiceManager()->getService(android::String16("netd"));
mNetdSrv = android::interface_cast<android::net::INetd>(binder);
+ if (mNetdSrv == nullptr) {
+ LOG(FATAL) << "Can't connect to service 'netd'. Missing root privileges? uid=" << getuid();
+ }
auto resolvBinder =
android::defaultServiceManager()->getService(android::String16("dnsresolver"));
diff --git a/resolv/dnsresolver_binder_test.cpp b/resolv/dnsresolver_binder_test.cpp
index 7999707..a77e6ec 100644
--- a/resolv/dnsresolver_binder_test.cpp
+++ b/resolv/dnsresolver_binder_test.cpp
@@ -67,6 +67,7 @@
if (binder != nullptr) {
mDnsResolver = android::interface_cast<IDnsResolver>(binder);
}
+ // This could happen when the test isn't running as root, or if netd isn't running.
assert(nullptr != mDnsResolver.get());
// Create cache for test
mDnsResolver->createNetworkCache(TEST_NETID);
diff --git a/server/Android.bp b/server/Android.bp
index dbb5372..bf2c1dd 100644
--- a/server/Android.bp
+++ b/server/Android.bp
@@ -207,6 +207,7 @@
name: "netd_unit_test",
defaults: ["netd_defaults"],
test_suites: ["device-tests"],
+ require_root: true,
include_dirs: [
"system/netd/include",
"system/netd/server/binder",
diff --git a/tests/Android.bp b/tests/Android.bp
index d02ac39..d6baf7a 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -50,6 +50,7 @@
cc_test {
name: "netd_integration_test",
test_suites: ["device-tests"],
+ require_root: true,
defaults: ["netd_defaults"],
srcs: [
":netd_integration_test_shared",