selftests: net: fix counting totals when some checks fail
authorJakub Kicinski <kuba@kernel.org>
Wed, 17 Apr 2024 23:11:39 +0000 (16:11 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 18 Apr 2024 23:15:31 +0000 (16:15 -0700)
Totals currently only pay attention to exceptions, if check fails
(say ksft_eq()) the test case will be counted as pass:

  # At /ksft/drivers/net/./ping.py line 18:
  # Check failed 1 != 2
  not ok 1 ping.test_v4
  ok 2 ping.test_v6
  ok 3 ping.test_tcp
  # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0
            ^^^^^^^^^^^^^

Pay attention to the result.

Fixes: b86761ff6374 ("selftests: net: add scaffolding for Netlink tests in Python")
Link: https://lore.kernel.org/r/20240417231146.2435572-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/lib/py/ksft.py

index 3769b919721306957cbdd696a20888f61325c8b9..640dfbf47702258a84f4bae7180692e2a9a86db1 100644 (file)
@@ -106,7 +106,10 @@ def ksft_run(cases, args=()):
             continue
 
         ktap_result(KSFT_RESULT, cnt, case)
-        totals['pass'] += 1
+        if KSFT_RESULT:
+            totals['pass'] += 1
+        else:
+            totals['fail'] += 1
 
     print(
         f"# Totals: pass:{totals['pass']} fail:{totals['fail']} xfail:{totals['xfail']} xpass:0 skip:{totals['skip']} error:0"