topotests: fix looging of memstat results

Signed-off-by: Lou Berger <lberger@labn.net>
This commit is contained in:
Lou Berger 2022-10-02 23:24:36 +00:00 committed by Christian Hopps
parent 4d28aea958
commit c6686550c3

View File

@ -1469,21 +1469,22 @@ class Router(Node):
if not running:
break
if not running:
return ""
if running:
logger.warning(
"%s: sending SIGBUS to: %s",
self.name,
", ".join([x[0] for x in running]),
)
for name, pid in running:
pidfile = "/var/run/{}/{}.pid".format(self.routertype, name)
logger.info("%s: killing %s", self.name, name)
self.cmd("kill -SIGBUS %d" % pid)
self.cmd("rm -- " + pidfile)
logger.warning(
"%s: sending SIGBUS to: %s", self.name, ", ".join([x[0] for x in running])
)
for name, pid in running:
pidfile = "/var/run/{}/{}.pid".format(self.routertype, name)
logger.info("%s: killing %s", self.name, name)
self.cmd("kill -SIGBUS %d" % pid)
self.cmd("rm -- " + pidfile)
sleep(
0.5, "%s: waiting for daemons to exit/core after initial SIGBUS" % self.name
)
sleep(
0.5,
"%s: waiting for daemons to exit/core after initial SIGBUS" % self.name,
)
errors = self.checkRouterCores(reportOnce=True)
if self.checkRouterVersion("<", minErrorVersion):
@ -1683,7 +1684,11 @@ class Router(Node):
return self.getLog("out", daemon)
def getLog(self, log, daemon):
return self.cmd("cat {}/{}/{}.{}".format(self.logdir, self.name, daemon, log))
filename = "{}/{}/{}.{}".format(self.logdir, self.name, daemon, log)
log = ""
with open(filename) as file:
log = file.read()
return log
def startRouterDaemons(self, daemons=None, tgen=None):
"Starts FRR daemons for this router."
@ -1841,9 +1846,13 @@ class Router(Node):
logger.info(
"%s: %s %s launched in gdb window", self, self.routertype, daemon
)
elif daemon in perfds and (self.name in perfds[daemon] or "all" in perfds[daemon]):
elif daemon in perfds and (
self.name in perfds[daemon] or "all" in perfds[daemon]
):
cmdopt += rediropt
cmd = " ".join(["perf record {} --".format(perf_options), binary, cmdopt])
cmd = " ".join(
["perf record {} --".format(perf_options), binary, cmdopt]
)
p = self.popen(cmd)
self.perf_daemons[daemon] = p
if p.poll() and p.returncode: