summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/drivers/net/lib/py/env.py
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2024-12-19 16:31:16 -0800
committerJakub Kicinski <kuba@kernel.org>2024-12-23 10:12:20 -0800
commitf288c7a1ba268a9ed58a7971142a98a1e41a3c73 (patch)
tree34ad53fb7fc79e8a54708e781912e1d6dbbcae5f /tools/testing/selftests/drivers/net/lib/py/env.py
parent85101bda1387e85eabf77cd416bfc38e14f1bce6 (diff)
downloadlinux-f288c7a1ba268a9ed58a7971142a98a1e41a3c73.tar.gz
linux-f288c7a1ba268a9ed58a7971142a98a1e41a3c73.tar.bz2
linux-f288c7a1ba268a9ed58a7971142a98a1e41a3c73.zip
selftests: drv-net: assume stats refresh is 0 if no ethtool -c support
Tests using HW stats wait for them to stabilize, using data from ethtool -c as the delay. Not all drivers implement ethtool -c so handle the errors gracefully. Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20241220003116.1458863-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/testing/selftests/drivers/net/lib/py/env.py')
-rw-r--r--tools/testing/selftests/drivers/net/lib/py/env.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/testing/selftests/drivers/net/lib/py/env.py b/tools/testing/selftests/drivers/net/lib/py/env.py
index 1ea9bb695e94..fea343f209ea 100644
--- a/tools/testing/selftests/drivers/net/lib/py/env.py
+++ b/tools/testing/selftests/drivers/net/lib/py/env.py
@@ -5,7 +5,7 @@ import time
from pathlib import Path
from lib.py import KsftSkipEx, KsftXfailEx
from lib.py import ksft_setup
-from lib.py import cmd, ethtool, ip
+from lib.py import cmd, ethtool, ip, CmdExitFailure
from lib.py import NetNS, NetdevSimDev
from .remote import Remote
@@ -234,7 +234,12 @@ class NetDrvEpEnv:
Good drivers will tell us via ethtool what their sync period is.
"""
if self._stats_settle_time is None:
- data = ethtool("-c " + self.ifname, json=True)[0]
+ data = {}
+ try:
+ data = ethtool("-c " + self.ifname, json=True)[0]
+ except CmdExitFailure as e:
+ if "Operation not supported" not in e.cmd.stderr:
+ raise
self._stats_settle_time = 0.025 + \
data.get('stats-block-usecs', 0) / 1000 / 1000