From: Martin Winter Date: Mon, 30 Jan 2023 22:26:48 +0000 (+0100) Subject: tests: Topotests fix for deleting wrong pidfile X-Git-Tag: base_8.5~21^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=refs%2Fpull%2F12711%2Fhead;p=mirror%2Ffrr.git tests: Topotests fix for deleting wrong pidfile Fixes killRouterDaemons() function which occasionally deleted the wrong pidfile. Signed-off-by: Martin Winter --- diff --git a/tests/topotests/lib/topotest.py b/tests/topotests/lib/topotest.py index 61cf16944f..7f68b4ccf3 100644 --- a/tests/topotests/lib/topotest.py +++ b/tests/topotests/lib/topotest.py @@ -1888,15 +1888,16 @@ class Router(Node): # Exclude empty string at end of list for d in dmns[:-1]: if re.search(r"%s" % daemon, d): - daemonpid = self.cmd("cat %s" % d.rstrip()).rstrip() + daemonpidfile = d.rstrip() + daemonpid = self.cmd("cat %s" % daemonpidfile).rstrip() if daemonpid.isdigit() and pid_exists(int(daemonpid)): logger.info( "{}: killing {}".format( self.name, - os.path.basename(d.rstrip().rsplit(".", 1)[0]), + os.path.basename(daemonpidfile.rsplit(".", 1)[0]), ) ) - self.cmd("kill -9 %s" % daemonpid) + os.kill(int(daemonpid), signal.SIGKILL) if pid_exists(int(daemonpid)): numRunning += 1 while wait and numRunning > 0: @@ -1922,12 +1923,12 @@ class Router(Node): ), ) ) - self.cmd("kill -9 %s" % daemonpid) + os.kill(int(daemonpid), signal.SIGKILL) if daemonpid.isdigit() and not pid_exists( int(daemonpid) ): numRunning -= 1 - self.cmd("rm -- {}".format(d.rstrip())) + self.cmd("rm -- {}".format(daemonpidfile)) if wait: errors = self.checkRouterCores(reportOnce=True) if self.checkRouterVersion("<", minErrorVersion):