[LTP] Proposal for new LTP config knob: LTP_QUIET

Martin Cermak mcermak@redhat.com
Wed Sep 17 11:07:12 CEST 2025


Hi folks,

some time back, LTP_REPRODUCIBLE_OUTPUT was introduced in LTP.
I'd like to propose a new, related LTP knob for our Valgrind
test automation purposes: LTP_QUIET.  See attached patch.

LTP_QUIET is supposed to suppress certain types of test output
messages, such as: TCONF, TWARN, TINFO, and TDEBUG.  This would
help us keep our test logs briefer, while still keeping the
information we need in the logs.

Please, consider merging upstream.

Thank you,
Martin


-------------- next part --------------
>From fb13e461ac76f6843f0fd9cc37ff42b971e8057c Mon Sep 17 00:00:00 2001
From: Martin Cermak <mcermak@redhat.com>
Date: Tue, 16 Sep 2025 16:15:22 +0200
Subject: [PATCH] Introduce and use LTP_QUIET

Introduce LTP_QUIET env variable.  When set to  1 or y, it will
suppress printing TCONF, TWARN, TINFO, and TDEBUG messages, making
valgrind ltp test logs cleaner.  In some cases such as  eventfd2_03,
shmctl05, mlock03, poll02, prctl09, setsockopt10, and select02 this
update avoids false positives.
---
 .../0002-Introduce-LTP_QUIET-env-var.patch    | 73 +++++++++++++++++++
 auxprogs/ltp-tester.sh                        |  7 ++
 2 files changed, 80 insertions(+)
 create mode 100644 auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch

diff --git a/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch b/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch
new file mode 100644
index 000000000..a77162bfc
--- /dev/null
+++ b/auxprogs/ltp-patches/0002-Introduce-LTP_QUIET-env-var.patch
@@ -0,0 +1,73 @@
+From 183df3240f8e7ca38fbe2fd472c31c9417ae7eb2 Mon Sep 17 00:00:00 2001
+From: Martin Cermak <mcermak@redhat.com>
+Date: Tue, 16 Sep 2025 15:46:40 +0200
+Subject: [PATCH] Introduce LTP_QUIET env var
+
+Introduce LTP_QUIET env variable.  When set to  1 or y, it will
+suppress printing TCONF, TWARN, TINFO, and TDEBUG messages.
+---
+ lib/tst_test.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/lib/tst_test.c b/lib/tst_test.c
+index 92872cc89..609a7b075 100644
+--- a/lib/tst_test.c
++++ b/lib/tst_test.c
+@@ -68,6 +68,7 @@ static int iterations = 1;
+ static float duration = -1;
+ static float timeout_mul = -1;
+ static int reproducible_output;
++static int quiet_output;
+ 
+ struct context {
+ 	int32_t lib_pid;
+@@ -307,15 +308,19 @@ static void print_result(const char *file, const int lineno, int ttype,
+ 		res = "TBROK";
+ 	break;
+ 	case TCONF:
++		if (quiet_output) return;
+ 		res = "TCONF";
+ 	break;
+ 	case TWARN:
++		if (quiet_output) return;
+ 		res = "TWARN";
+ 	break;
+ 	case TINFO:
++		if (quiet_output) return;
+ 		res = "TINFO";
+ 	break;
+ 	case TDEBUG:
++		if (quiet_output) return;
+ 		res = "TDEBUG";
+ 	break;
+ 	default:
+@@ -670,6 +675,7 @@ static void print_help(void)
+ 	fprintf(stderr, "LTP_DEV_FS_TYPE          Filesystem used for testing (default: %s)\n", DEFAULT_FS_TYPE);
+ 	fprintf(stderr, "LTP_ENABLE_DEBUG         Print debug messages (set 1 or y)\n");
+ 	fprintf(stderr, "LTP_REPRODUCIBLE_OUTPUT  Values 1 or y discard the actual content of the messages printed by the test\n");
++	fprintf(stderr, "LTP_QUIET                Values 1 or y will suppress printing TCONF, TWARN, TINFO, and TDEBUG messages\n");
+ 	fprintf(stderr, "LTP_SINGLE_FS_TYPE       Specifies filesystem instead all supported (for .all_filesystems)\n");
+ 	fprintf(stderr, "LTP_FORCE_SINGLE_FS_TYPE Testing only. The same as LTP_SINGLE_FS_TYPE but ignores test skiplist.\n");
+ 	fprintf(stderr, "LTP_TIMEOUT_MUL          Timeout multiplier (must be a number >=1)\n");
+@@ -1361,6 +1367,7 @@ static void do_setup(int argc, char *argv[])
+ {
+ 	char *tdebug_env = getenv("LTP_ENABLE_DEBUG");
+ 	char *reproducible_env = getenv("LTP_REPRODUCIBLE_OUTPUT");
++	char *quiet_env = getenv("LTP_QUIET");
+ 
+ 	if (!tst_test)
+ 		tst_brk(TBROK, "No tests to run");
+@@ -1391,6 +1398,10 @@ static void do_setup(int argc, char *argv[])
+ 	    (!strcmp(reproducible_env, "1") || !strcmp(reproducible_env, "y")))
+ 		reproducible_output = 1;
+ 
++	if (quiet_env &&
++	    (!strcmp(quiet_env, "1") || !strcmp(quiet_env, "y")))
++		quiet_output = 1;
++
+ 	assert_test_fn();
+ 
+ 	TCID = tcid = get_tcid(argv);
+-- 
+2.48.1
+
diff --git a/auxprogs/ltp-tester.sh b/auxprogs/ltp-tester.sh
index ba8fd8be4..a95c603c5 100755
--- a/auxprogs/ltp-tester.sh
+++ b/auxprogs/ltp-tester.sh
@@ -21,6 +21,7 @@ PARALLEL_JOBS=${PARALLEL_JOBS:-$(nproc)}
 # https://lore.kernel.org/ltp/20250505195003.GB137650@pevik/T/#t
 export LTP_COLORIZE_OUTPUT=0
 export LTP_REPRODUCIBLE_OUTPUT=1
+export LTP_QUIET=1
 
 # Initialize LOGDIR for bunsen upload (https://sourceware.org/bunsen/)
 mkdir -p $LOGDIR; rm -rf ${LOGDIR:?}/*
@@ -110,4 +111,10 @@ done
 
 wait
 
+echo -e "\nBrief LTP test results summary"
+echo "-----------------------------------------"
+find $LOGDIR -type f -name '*.trs' -exec grep -F ':test-result:' '{}' ';' |\
+    sort -r | uniq -c | awk '{print $NF": "$1}'
+echo -e "-----------------------------------------\n"
+
 echo "TESTING FINISHED, logs in $LOGDIR"
-- 
2.48.1



More information about the ltp mailing list