On Mon, Nov 02, 2026 at 04:03:03PM +0100, Kevin Wolf wrote:
> Am 23.06.2026 um 18:06 hat Daniel P. Berrangé geschrieben:
> > Every test run dumps a long list of environment variable settings.
> > While this is often useful, if you are trying to reproduce a bug
> > while repeatedly running a single test it can be quiet noisy. Add
> > a --quiet flag to 'check' which allows the env variable dump to
> > be hidden.
> >
> > Signed-off-by: Daniel P. Berrangé <[email protected]>
>
> The result doesn't feel terribly quiet to me, with all of the test cases
> still getting a line of their own. I would have expected that a quiet
> mode only prints errors and maybe the summary line at the end that tells
> you about passed and skipped test cases.
I felt the list of test cases was the core program output, while env
variables, etc were "supplementary info", so preserved the former.
My use case was primary single test at a time, where the output
now looks like:
$ ./build/run ./build/tests/qemu-iotests/check --quiet -qcow2 080
080 pass [15:14:39] [15:14:42] 3.2s (last: 3.2s)
Passed all 1 iotests
instead of
$ ./build/run ./build/tests/qemu-iotests/check -qcow2 080
QEMU -- "/home/berrange/src/virt/qemu/build/qemu-system-x86_64"
-nodefaults -display none -accel qtest
QEMU_IMG -- "/home/berrange/src/virt/qemu/build/qemu-img"
QEMU_IO -- "/home/berrange/src/virt/qemu/build/qemu-io" --cache
writeback --aio threads -f qcow2
QEMU_NBD -- "/home/berrange/src/virt/qemu/build/qemu-nbd"
IMGFMT -- qcow2
IMGPROTO -- file
PLATFORM -- Linux/x86_64 berrange.csb 7.2.9-200.fc44.x86_64
TEST_DIR -- /home/berrange/src/virt/qemu/scratch
SOCK_DIR -- /tmp/qemu-iotests-rrynctwo
GDB_OPTIONS --
VALGRIND_QEMU --
PRINT_QEMU_OUTPUT --
080 pass [15:17:19] [15:17:22] 3.2s (last: 3.2s)
Passed all 1 iotests
> Though I guess we could always have something like -qq for quieter
> output, so this is not a fundamental objection.
>
> > tests/qemu-iotests/check | 4 +++-
> > tests/qemu-iotests/testrunner.py | 7 ++++---
> > 2 files changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
> > index 3941eac8e2..c8ba536970 100755
> > --- a/tests/qemu-iotests/check
> > +++ b/tests/qemu-iotests/check
> > @@ -46,6 +46,8 @@ def make_argparser() -> argparse.ArgumentParser:
> > description="Test run options",
> > formatter_class=argparse.ArgumentDefaultsHelpFormatter)
> >
> > + p.add_argument('-q', '--quiet', action='store_true',
> > + help='reduce output verbosity to only test results')
> > p.add_argument('-n', '--dry-run', action='store_true',
> > help='show me, do not run tests')
> > p.add_argument('-j', dest='jobs', type=int, default=1,
> > @@ -230,6 +232,6 @@ if __name__ == '__main__':
> > with TestRunner(env, tap=args.tap,
> > color=args.color) as tr:
> > paths = [os.path.join(env.source_iotests, t) for t in tests]
> > - ok = tr.run_tests(paths, args.jobs)
> > + ok = tr.run_tests(paths, args.jobs, args.quiet)
> > if not ok:
> > sys.exit(1)
> > diff --git a/tests/qemu-iotests/testrunner.py
> > b/tests/qemu-iotests/testrunner.py
> > index dbe2dddc32..0eb7f144df 100644
> > --- a/tests/qemu-iotests/testrunner.py
> > +++ b/tests/qemu-iotests/testrunner.py
> > @@ -376,7 +376,7 @@ def run_test(self, test: str,
> > sys.stdout.flush()
> > return res
> >
> > - def run_tests(self, tests: List[str], jobs: int = 1) -> bool:
> > + def run_tests(self, tests: List[str], jobs: int = 1, quiet: bool =
> > False) -> bool:
> > n_run = 0
> > failed = []
> > notrun = []
>
> This line is too long now:
>
> 297 fail [15:57:51] [15:58:02] 10.8s
> (last: 10.6s) output mismatch (see
> /home/kwolf/source/qemu/build-clang/scratch/bochs-file-297/297.out.bad)
> --- /home/kwolf/source/qemu/tests/qemu-iotests/297.out
> +++ /home/kwolf/source/qemu/build-clang/scratch/bochs-file-297/297.out.bad
> @@ -1,2 +1,4 @@
> === pylint ===
> +************* Module testrunner
> +testrunner.py:379:0: C0301: Line too long (86/79) (line-too-long)
> === mypy ===
Ah, ok, will repost for that
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|