diff options
author | Jakub Kicinski <kuba@kernel.org> | 2024-04-23 10:09:52 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-04-23 10:09:52 -0700 |
commit | b2c8599f6443cac67dd10cec25e361c449bab1ef (patch) | |
tree | 29534a354ee4ae330feb4b9f2823252accf19945 /tools/testing/selftests/net/lib/py | |
parent | 1af2dface5d286dd1f2f3405a0d6fa9f2c8fb998 (diff) | |
parent | 23710925928310ec481fc0909a4d44ef89f4241a (diff) |
Merge branch 'netdev-support-dumping-a-single-netdev-in-qstats'
Jakub Kicinski says:
====================
netdev: support dumping a single netdev in qstats
I was writing a test for page pool which depended on qstats,
and got tired of having to filter dumps in user space.
Add support for dumping stats for a single netdev.
To get there we first need to add full support for extack
in dumps (and fix a dump error handling bug in YNL, sent
separately to the net tree).
====================
Link: https://lore.kernel.org/r/20240420023543.3300306-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/testing/selftests/net/lib/py')
-rw-r--r-- | tools/testing/selftests/net/lib/py/ksft.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/lib/py/ksft.py b/tools/testing/selftests/net/lib/py/ksft.py index 25f2572fa540..e7f79f6185b0 100644 --- a/tools/testing/selftests/net/lib/py/ksft.py +++ b/tools/testing/selftests/net/lib/py/ksft.py @@ -53,6 +53,24 @@ def ksft_ge(a, b, comment=""): _fail("Check failed", a, "<", b, comment) +class ksft_raises: + def __init__(self, expected_type): + self.exception = None + self.expected_type = expected_type + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + if exc_type is None: + _fail(f"Expected exception {str(self.expected_type.__name__)}, none raised") + elif self.expected_type != exc_type: + _fail(f"Expected exception {str(self.expected_type.__name__)}, raised {str(exc_type.__name__)}") + self.exception = exc_val + # Suppress the exception if its the expected one + return self.expected_type == exc_type + + def ksft_busy_wait(cond, sleep=0.005, deadline=1, comment=""): end = time.monotonic() + deadline while True: |