mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 08:15:07 -04:00
selftests: drv-net: print device info at the start
When a reviewer asks a developer to run an upstream test during code review, it's often ambiguous whether the test was actually run against a real device, or just against netdevsim. Print the driver name and ifname at the start of the test, e.g.: # Interface: enp0s13f0u1u4, driver: r8152 TAP version 13 1..1 ok 1 ... Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/20260803211944.2166211-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -7,7 +7,7 @@ import time
|
||||
import json
|
||||
from pathlib import Path
|
||||
from lib.py import KsftSkipEx, KsftXfailEx
|
||||
from lib.py import ksft_setup, wait_file
|
||||
from lib.py import ksft_pr, ksft_setup, wait_file
|
||||
from lib.py import cmd, ethtool, ip, CmdExitFailure
|
||||
from lib.py import NetNS, NetdevSimDev, UserNetNS
|
||||
from .remote import Remote
|
||||
@@ -31,6 +31,7 @@ class NetDrvEnvBase:
|
||||
|
||||
# Following attrs must be set be inheriting classes
|
||||
self.dev = None
|
||||
self.ifname = None
|
||||
|
||||
def _load_env_file(self):
|
||||
env = os.environ.copy()
|
||||
@@ -58,6 +59,22 @@ class NetDrvEnvBase:
|
||||
def __del__(self):
|
||||
pass
|
||||
|
||||
def _print_dev_info(self):
|
||||
"""
|
||||
Show whether the test ran on real hardware or netdevsim.
|
||||
Useful to confirm when results are shared on the mailing list.
|
||||
"""
|
||||
driver = "unknown"
|
||||
try:
|
||||
info = ethtool(f"-i {self.ifname}").stdout
|
||||
for line in info.splitlines():
|
||||
if line.startswith("driver:"):
|
||||
driver = line.split(':', 1)[1].strip() or driver
|
||||
break
|
||||
except (CmdExitFailure, FileNotFoundError):
|
||||
pass
|
||||
ksft_pr(f"Interface: {self.ifname}, driver: {driver}")
|
||||
|
||||
def __enter__(self):
|
||||
ip(f"link set dev {self.dev['ifname']} up")
|
||||
wait_file(f"/sys/class/net/{self.dev['ifname']}/carrier",
|
||||
@@ -94,6 +111,7 @@ class NetDrvEnv(NetDrvEnvBase):
|
||||
self.dev = self._ns.nsims[0].dev
|
||||
self.ifname = self.dev['ifname']
|
||||
self.ifindex = self.dev['ifindex']
|
||||
self._print_dev_info()
|
||||
|
||||
def __del__(self):
|
||||
if self._ns:
|
||||
@@ -164,6 +182,7 @@ class NetDrvEpEnv(NetDrvEnvBase):
|
||||
|
||||
self.ifname = self.dev['ifname']
|
||||
self.ifindex = self.dev['ifindex']
|
||||
self._print_dev_info()
|
||||
|
||||
# resolve remote interface name
|
||||
self.remote_ifname = self.resolve_remote_ifc()
|
||||
|
||||
Reference in New Issue
Block a user