From: Jakub Kicinski Date: Wed, 8 Apr 2026 22:19:52 +0000 (-0700) Subject: selftests: net: py: explicitly forbid multiple ksft_run() calls X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3d2c3d2eea9a;p=thirdparty%2Fkernel%2Flinux.git selftests: net: py: explicitly forbid multiple ksft_run() calls People (do people still write code or is it all AI?) seem to not get that ksft_run() can only be called once. If we call it multiple times KTAP parsers will likely cut off after the first batch has finished. Link: https://patch.msgid.link/20260408221952.819822-1-kuba@kernel.org Signed-off-by: Jakub Kicinski --- diff --git a/tools/testing/selftests/net/lib/py/ksft.py b/tools/testing/selftests/net/lib/py/ksft.py index 7b8af463e35d..7083c99c9444 100644 --- a/tools/testing/selftests/net/lib/py/ksft.py +++ b/tools/testing/selftests/net/lib/py/ksft.py @@ -341,10 +341,13 @@ def ksft_run(cases=None, globs=None, case_pfx=None, args=()): totals = {"pass": 0, "fail": 0, "skip": 0, "xfail": 0} + global KSFT_RESULT + if KSFT_RESULT is not None: + raise RuntimeError("ksft_run() can't be called multiple times.") + print("TAP version 13", flush=True) print("1.." + str(len(test_cases)), flush=True) - global KSFT_RESULT cnt = 0 stop = False for func, args, name in test_cases: