service_test: Only run the ServiceStopTest as root

Despite 'require_root: true' in Android.bp for CtsInitTestCases, it can
happen that this test is run without root privileges. If that happens,
skip the ServiceStopTest.

Bug: 313551148
Change-Id: I45f29369915a1f61e08ffd9bf5601a83a147597c
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
Bart Van Assche 2023-11-30 09:58:31 -08:00
parent 58beb4a624
commit fb3e64ab42

View file

@ -236,6 +236,11 @@ class ServiceStopTest : public testing::TestWithParam<bool> {};
// Service::Stop() if their uid_%d/pid_%d cgroup directory got removed. This test, if run with the
// parameter set to 'true', verifies that such services are stopped.
TEST_P(ServiceStopTest, stop) {
if (getuid() != 0) {
GTEST_SKIP() << "Must be run as root.";
return;
}
static constexpr std::string_view kServiceName = "ServiceA";
static constexpr std::string_view kScriptTemplate = R"init(
service $name /system/bin/yes