Merge "Clean up services created after running test" am: 2880afb77f

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2209900

Change-Id: I2c9a38b428d8264e1904b73a904d8b82f865b40e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Deyao Ren 2022-09-09 16:50:11 +00:00 committed by Automerger Merge Worker
commit f71d80a154

View file

@ -246,6 +246,27 @@ void InitApexService(const std::string_view& init_template) {
&ServiceList::GetInstance());
}
void CleanupApexServices() {
std::vector<std::string> names;
for (const auto& s : ServiceList::GetInstance()) {
names.push_back(s->name());
}
for (const auto& name : names) {
auto s = ServiceList::GetInstance().FindService(name);
auto pid = s->pid();
ServiceList::GetInstance().RemoveService(*s);
if (pid > 0) {
kill(pid, SIGTERM);
kill(pid, SIGKILL);
}
}
ActionManager::GetInstance().RemoveActionIf([&](const std::unique_ptr<Action>& s) -> bool {
return true;
});
}
void TestApexServicesInit(const std::vector<std::string>& apex_services,
const std::vector<std::string>& other_apex_services,
const std::vector<std::string> non_apex_services) {
@ -270,13 +291,7 @@ void TestApexServicesInit(const std::vector<std::string>& apex_services,
TestRemoveApexService(other_apex_services, /*exist*/ true);
TestRemoveApexService(non_apex_services, /*exist*/ true);
ServiceList::GetInstance().RemoveServiceIf([&](const std::unique_ptr<Service>& s) -> bool {
return true;
});
ActionManager::GetInstance().RemoveActionIf([&](const std::unique_ptr<Action>& s) -> bool {
return true;
});
CleanupApexServices();
}
TEST(init, StopServiceByApexName) {