mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
selftests: net: py: teach cmd() how to print itself
Teach cmd() how to print itself, to make debug prints easier.
Example output (leading # due to ksft_pr()):
# CMD: /root/ksft-net-drv/drivers/net/gro
# EXIT: 1
# STDOUT: ipv6 with ext header does coalesce:
# STDERR: Expected {200 }, Total 1 packets
# Received {100 [!=200]100 [!=0]}, Total 2 packets.
Reviewed-by: Petr Machata <petrm@nvidia.com>
Link: https://patch.msgid.link/20260113000740.255360-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
b324192e36
commit
ce0f92dc73
|
|
@ -41,7 +41,9 @@ class cmd:
|
|||
self.ret = None
|
||||
self.ksft_term_fd = None
|
||||
|
||||
self.host = host
|
||||
self.comm = comm
|
||||
|
||||
if host:
|
||||
self.proc = host.cmd(comm)
|
||||
else:
|
||||
|
|
@ -99,6 +101,27 @@ class cmd:
|
|||
raise CmdExitFailure("Command failed: %s\nSTDOUT: %s\nSTDERR: %s" %
|
||||
(self.proc.args, stdout, stderr), self)
|
||||
|
||||
def __repr__(self):
|
||||
def str_fmt(name, s):
|
||||
name += ': '
|
||||
return (name + s.strip().replace('\n', '\n' + ' ' * len(name)))
|
||||
|
||||
ret = "CMD"
|
||||
if self.host:
|
||||
ret += "[remote]"
|
||||
if self.ret is None:
|
||||
ret += f" (unterminated): {self.comm}\n"
|
||||
elif self.ret == 0:
|
||||
ret += f" (success): {self.comm}\n"
|
||||
else:
|
||||
ret += f": {self.comm}\n"
|
||||
ret += f" EXIT: {self.ret}\n"
|
||||
if self.stdout:
|
||||
ret += str_fmt(" STDOUT", self.stdout) + "\n"
|
||||
if self.stderr:
|
||||
ret += str_fmt(" STDERR", self.stderr) + "\n"
|
||||
return ret.strip()
|
||||
|
||||
|
||||
class bkg(cmd):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user