[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