From: Petr Vorel <pvorel@suse.cz>
To: Martin Cermak <mcermak@redhat.com>
Cc: valgrind-developers@lists.sourceforge.net,
Mark Wielaard <mark@klomp.org>,
ltp@lists.linux.it
Subject: Re: [LTP] Proposal for new LTP config knob: LTP_QUIET
Date: Wed, 17 Sep 2025 12:37:17 +0200 [thread overview]
Message-ID: <20250917103717.GB336745@pevik> (raw)
In-Reply-To: <20250917090712.5tbidlr7yvqvikj7@lida.tpb.lab.eng.brq.redhat.com>
Hi Martin,
> 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.
Thanks for contributing this. So the point is to have only the final summary
printed, right? (summary of TCONF/TWARN/TBROK/...).
I'm ok for merging this + to introduce the same for shell API (tst_test.sh),
although you in valgrind don't use it. And we could even introduce '-q' getopt
(easier for manual debugging).
Do we then want to keep the "reproducible output" part? Or should it quiet
replace it?
@Cyril, if you agree, do we dare to have it before the release?
> Thank you,
> Martin
> 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
This part is your valgrind runner right? (i.e. not for LTP).
Kind regards,
Petr
> @@ -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"
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2025-09-17 10:37 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-17 9:07 [LTP] Proposal for new LTP config knob: LTP_QUIET Martin Cermak via ltp
2025-09-17 10:37 ` Petr Vorel [this message]
2025-09-17 11:13 ` Martin Cermak via ltp
2025-09-17 11:30 ` Petr Vorel
2025-09-17 11:36 ` Martin Cermak via ltp
2025-09-17 11:13 ` Andrea Cervesato via ltp
2025-09-22 8:01 ` Cyril Hrubis
2025-09-22 11:06 ` Martin Cermak via ltp
2025-09-29 10:46 ` Cyril Hrubis
2025-09-29 10:52 ` Martin Cermak via ltp
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=20250917103717.GB336745@pevik \
--to=pvorel@suse.cz \
--cc=ltp@lists.linux.it \
--cc=mark@klomp.org \
--cc=mcermak@redhat.com \
--cc=valgrind-developers@lists.sourceforge.net \
/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.