[PATCH v2 10/15] KVM: selftests: Add flag to suppress all output from Selftest KVM Runner
Vipin Sharma
vipinsh at google.com
Fri Jun 6 16:56:14 PDT 2025
Add a command line flag, --quiet, to suppress all of the output from
runner to terminal.
Signed-off-by: Vipin Sharma <vipinsh at google.com>
---
.../testing/selftests/kvm/runner/__main__.py | 8 ++++++-
.../selftests/kvm/runner/test_runner.py | 21 ++++++++++++-------
2 files changed, 20 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/kvm/runner/__main__.py b/tools/testing/selftests/kvm/runner/__main__.py
index 2dcac1f4d1c4..c02035a62873 100644
--- a/tools/testing/selftests/kvm/runner/__main__.py
+++ b/tools/testing/selftests/kvm/runner/__main__.py
@@ -129,6 +129,12 @@ def cli():
default=False,
help="Print only the summary status line.")
+ parser.add_argument("-q",
+ "--quiet",
+ action="store_true",
+ default=False,
+ help="Suppress all of the output to terminal")
+
return parser.parse_args()
@@ -136,7 +142,7 @@ def level_filters(args):
# Levels added here will be printed by logger.
levels = set()
- if args.sticky_summary_only:
+ if args.sticky_summary_only or args.quiet:
return levels
if args.print_passed or args.print_passed_status or args.print_status:
diff --git a/tools/testing/selftests/kvm/runner/test_runner.py b/tools/testing/selftests/kvm/runner/test_runner.py
index e0da30d216a2..e7730880907d 100644
--- a/tools/testing/selftests/kvm/runner/test_runner.py
+++ b/tools/testing/selftests/kvm/runner/test_runner.py
@@ -18,6 +18,7 @@ class TestRunner:
self.status = {x: 0 for x in SelftestStatus}
self.output_dir = args.output
self.jobs = args.jobs
+ self.quiet = args.quiet
self.print_status = args.print_status
self.print_stds = {
SelftestStatus.PASSED: args.print_passed,
@@ -35,17 +36,21 @@ class TestRunner:
test.run()
return test
+ def _print(self, text, end="\n"):
+ if not self.quiet:
+ print(text, end=end)
+
def _sticky_update(self):
- print(f"\r\033[1mTotal: {self.tests_ran}/{len(self.tests)}" \
- f"\033[32;1m Passed: {self.status[SelftestStatus.PASSED]}" \
- f"\033[31;1m Failed: {self.status[SelftestStatus.FAILED]}" \
- f"\033[33;1m Skipped: {self.status[SelftestStatus.SKIPPED]}"\
- f"\033[91;1m Timed Out: {self.status[SelftestStatus.TIMED_OUT]}"\
- f"\033[34;1m No Run: {self.status[SelftestStatus.NO_RUN]}\033[0m", end="\r")
+ self._print(f"\r\033[1mTotal: {self.tests_ran}/{len(self.tests)}"
+ f"\033[32;1m Passed: {self.status[SelftestStatus.PASSED]}"
+ f"\033[31;1m Failed: {self.status[SelftestStatus.FAILED]}"
+ f"\033[33;1m Skipped: {self.status[SelftestStatus.SKIPPED]}"
+ f"\033[91;1m Timed Out: {self.status[SelftestStatus.TIMED_OUT]}"
+ f"\033[34;1m No Run: {self.status[SelftestStatus.NO_RUN]}\033[0m", end="\r")
def _log_result(self, test_result):
# Clear the status line
- print("\033[2K", end="\r")
+ self._print("\033[2K", end="\r")
logger.log(test_result.status,
f"[{test_result.status}] {test_result.test_path}")
if (self.output_dir is None and self.print_status is False
@@ -79,5 +84,5 @@ class TestRunner:
SelftestStatus.NO_RUN,
SelftestStatus.SKIPPED]):
ret = 1
- print("\n")
+ self._print("")
return ret
--
2.50.0.rc0.604.gd4ff7b7c86-goog
More information about the linux-arm-kernel
mailing list