On Thu, 18 Apr 2024 10:26:19 -0400 Willem de Bruijn wrote:
-def ksft_run(cases, args=()): +def ksft_run(cases=None, globs=None, case_pfx=None, args=()):
- cases = cases or []
- if globs and case_pfx:
for key, value in globs.items():
stats_with_pfx = bool([pfx for pfx in case_pfx if key.startswith(pfx)])
stats -> starts
for the reader, just spell out prefix instead of pfx?
perhaps less pythonic, but just
if key.startswith(prefix) and callable(value): cases.append(value)
like this?
diff --git a/tools/testing/selftests/net/lib/py/ksft.py b/tools/testing/selftests/net/lib/py/ksft.py index fe4025dc5a16..8018bf98a9d2 100644 --- a/tools/testing/selftests/net/lib/py/ksft.py +++ b/tools/testing/selftests/net/lib/py/ksft.py @@ -86,9 +86,12 @@ KSFT_RESULT_ALL = True
if globs and case_pfx: for key, value in globs.items(): - stats_with_pfx = bool([pfx for pfx in case_pfx if key.startswith(pfx)]) - if callable(value) and stats_with_pfx: - cases.append(value) + if not callable(value): + continue + for prefix in case_pfx: + if key.startswith(prefix): + cases.append(value) + break
totals = {"pass": 0, "fail": 0, "skip": 0, "xfail": 0}