From: Jakub Kicinski <kuba@kernel.org>
To: davem@davemloft.net
Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com,
andrew+netdev@lunn.ch, horms@kernel.org,
Jakub Kicinski <kuba@kernel.org>,
shuah@kernel.org, petrm@nvidia.com, willemb@google.com,
linux-kselftest@vger.kernel.org
Subject: [PATCH net-next] selftests: net: py: color the basics in the output
Date: Wed, 1 Apr 2026 11:33:09 -0700 [thread overview]
Message-ID: <20260401183309.378671-1-kuba@kernel.org> (raw)
Sometimes it's hard to spot the ok / not ok lines in the output.
This is especially true for the GRO tests which retries a lot
so there's a wall of non-fatal output printed.
Try to color the crucial lines green / red / yellow when running
in a terminal.
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
---
This is a bit of RFC, I'm not super convinced this is worth
carrying in the tree? Please Ack/Review I'll apply if we get
3 supporting tags.
---
CC: shuah@kernel.org
CC: petrm@nvidia.com
CC: willemb@google.com
CC: linux-kselftest@vger.kernel.org
---
tools/testing/selftests/net/lib/py/ksft.py | 29 ++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/tools/testing/selftests/net/lib/py/ksft.py b/tools/testing/selftests/net/lib/py/ksft.py
index 28a7a994526d..2a6e9113ef5b 100644
--- a/tools/testing/selftests/net/lib/py/ksft.py
+++ b/tools/testing/selftests/net/lib/py/ksft.py
@@ -4,6 +4,7 @@ import argparse
import fnmatch
import functools
import inspect
+import os
import signal
import sys
import time
@@ -17,6 +18,26 @@ KSFT_RESULT_ALL = True
KSFT_DISRUPTIVE = True
+def _ksft_supports_color():
+ if os.environ.get("NO_COLOR") is not None:
+ return False
+ if not hasattr(sys.stdout, "isatty") or not sys.stdout.isatty():
+ return False
+ if os.environ.get("TERM") == "dumb":
+ return False
+ return True
+
+
+_KSFT_COLOR = None
+
+
+def _ksft_color():
+ global _KSFT_COLOR
+ if _KSFT_COLOR is None:
+ _KSFT_COLOR = _ksft_supports_color()
+ return _KSFT_COLOR
+
+
class KsftFailEx(Exception):
pass
@@ -167,6 +188,14 @@ KSFT_DISRUPTIVE = True
res += "." + case_name
if comment:
res += " # " + comment
+ if _ksft_color():
+ if comment.startswith(("SKIP", "XFAIL")):
+ color = "\033[33m"
+ elif ok:
+ color = "\033[32m"
+ else:
+ color = "\033[31m"
+ res = color + res + "\033[0m"
print(res, flush=True)
--
2.53.0
next reply other threads:[~2026-04-01 18:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-01 18:33 Jakub Kicinski [this message]
2026-04-01 21:29 ` [PATCH net-next] selftests: net: py: color the basics in the output Stanislav Fomichev
2026-04-01 23:58 ` Jakub Kicinski
2026-04-02 0:03 ` Willem de Bruijn
2026-04-02 0:00 ` Joe Damato
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260401183309.378671-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=petrm@nvidia.com \
--cc=shuah@kernel.org \
--cc=willemb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.