Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions tests/framework/microvm.py
Original file line number Diff line number Diff line change
Expand Up @@ -333,13 +333,20 @@ def kill(self):
# https://github.com/firecracker-microvm/firecracker/pull/4442/commits/d63eb7a65ffaaae0409d15ed55d99ecbd29bc572

# filter ps results for the jailer's unique id
_, stdout, stderr = utils.check_output(
f"ps ax -o cmd -ww | grep {self.jailer.jailer_id}"
_, stdout, stderr = utils.run_cmd(
f"ps ax -o pid,cmd -ww | grep {self.jailer.jailer_id}"
)

offenders = []
for proc in stdout.splitlines():
if "firecracker" in proc:
offenders.append(proc)

# make sure firecracker was killed
assert (
stderr == "" and "firecracker" not in stdout
), f"Firecracker reported its pid {self.firecracker_pid}, which was killed, but there still exist processes using the supposedly dead Firecracker's jailer_id: {stdout}"
assert not stderr and not offenders, (
f"Firecracker reported its pid {self.firecracker_pid}, which was killed, but there still exist processes using the supposedly dead Firecracker's jailer_id: \n"
+ "\n".join(offenders)
)

if self.uffd_handler and self.uffd_handler.is_running():
self.uffd_handler.kill()
Expand Down