[modular][sessionctl] Look for the component-version of basemgr.
Also:
* Print a nicer error when we can't find a basemgr instance in the first
place.
TEST=manual
MF-158 #done
MF-158 #comment [modular][sessionctl] Look for the component-version of basemgr.
Change-Id: I52aaa91fe6e6aa8f25dc7af588f7d1b1c4e502e4
diff --git a/bin/sessionctl/main.cc b/bin/sessionctl/main.cc
index 4ee5456..ffa5a3d 100644
--- a/bin/sessionctl/main.cc
+++ b/bin/sessionctl/main.cc
@@ -148,9 +148,12 @@
auto request = basemgr.NewRequest().TakeChannel();
std::vector<DebugService> services;
- FindDebugServicesForPath("/hub/c/basemgr/*/out/debug/basemgr", "basemgr",
- &services);
- // There should only be one basemgr
+ FindDebugServicesForPath("/hub/c/basemgr.cmx/*/out/debug/basemgr",
+ "basemgr.cmx", &services);
+
+ if (services.empty()) {
+ return nullptr;
+ }
FXL_CHECK(services.size() == 1);
std::string service_path = services[0].service_path;
@@ -172,8 +175,14 @@
const modular::Logger logger(
command_line.HasOption(modular::kJsonOutFlagString));
- auto sessions = FindAllSessions();
+ auto basemgr = ConnectToBasemgr();
+ if (!basemgr) {
+ logger.LogError(cmd, "Could not find a running basemgr. Is it running?");
+ return 1;
+ }
+
+ auto sessions = FindAllSessions();
if (sessions.empty()) {
logger.LogError(
cmd, "Could not find a running sessionmgr. Is the user logged in?");
@@ -189,8 +198,6 @@
std::cout << std::endl;
}
- auto basemgr = ConnectToBasemgr();
-
// To get a PuppetMaster service for a session, use the following code:
PuppetMasterPtr puppet_master = ConnectToPuppetMaster(sessions[0]);