diff options
| author | Jakub Kicinski <[email protected]> | 2024-04-20 02:35:42 +0000 |
|---|---|---|
| committer | Jakub Kicinski <[email protected]> | 2024-04-23 17:09:49 +0000 |
| commit | 23710925928310ec481fc0909a4d44ef89f4241a (patch) | |
| tree | 29534a354ee4ae330feb4b9f2823252accf19945 /tools/testing/selftests/net/lib/py/ksft.py | |
| parent | netlink: support all extack types in dumps (diff) | |
| download | kernel-23710925928310ec481fc0909a4d44ef89f4241a.tar.gz kernel-23710925928310ec481fc0909a4d44ef89f4241a.zip | |
selftests: drv-net: test dumping qstats per device
Add a test for dumping qstats device by device.
ksft framework grows a ksft_raises() helper, to be used
under with, which should be familiar to unittest users.
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'tools/testing/selftests/net/lib/py/ksft.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: |
