From: Kevin Wolf <kwolf@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-block@nongnu.org, Hanna Czenczek <hreitz@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [PATCH 2/3] tests/qemu-iotests: Improve the dry run list to speed up thorough testing
Date: Mon, 13 Oct 2025 14:51:24 +0200 [thread overview]
Message-ID: <aOz1zLV4J5Znm_M3@redhat.com> (raw)
In-Reply-To: <c8e6d6c7-d261-4ede-83f3-1fd7b70d2eee@redhat.com>
Am 02.10.2025 um 16:33 hat Thomas Huth geschrieben:
> On 02/10/2025 16.04, Kevin Wolf wrote:
> > Am 10.09.2025 um 17:37 hat Thomas Huth geschrieben:
> > > From: Thomas Huth <thuth@redhat.com>
> > >
> > > When running the tests in thorough mode, e.g. with:
> > >
> > > make -j$(nproc) check SPEED=thorough
> > >
> > > we currently always get a huge amount of total tests that the test
> > > runner tries to execute (2457 in my case), but a big bunch of them are
> > > only skipped (1099 in my case, meaning that only 1358 got executed).
> > > This happens because we try to run the whole set of iotests for multiple
> > > image formats while a lot of the tests can only run with one certain
> > > format only and thus are marked as SKIP during execution. This is quite a
> > > waste of time during each test run, and also unnecessarily blows up the
> > > displayed list of executed tests in the console output.
> > >
> > > Thus let's try to be a little bit smarter: If the "check" script is run
> > > with "-n" and an image format switch (like "-qed") at the same time (which
> > > is what we do already for discovering the tests for the meson test runner),
> > > only report the tests that likely support the given format instead of
> > > providing the whole list of all tests. We can determine whether a test
> > > supports a format or not by looking at the lines in the file that contain
> > > a "supported_fmt" or "unsupported_fmt" statement. This is only heuristics,
> > > of course, but it is good enough for running the iotests via "make
> > > check-block" - I double-checked that the list of executed tests does not
> > > get changed by this patch, it's only the tests that are skipped anyway that
> > > are now not run anymore.
> > >
> > > This way the amount of total tests drops from 2457 to 1432 for me, and
> > > the amount of skipped tests drops from 1099 to just 74 (meaning that we
> > > still properly run 1432 - 74 = 1358 tests as we did before).
> > >
> > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > > tests/qemu-iotests/check | 35 ++++++++++++++++++++++++++++++++---
> > > 1 file changed, 32 insertions(+), 3 deletions(-)
> >
> > > +def dry_run_list(test_dir, imgfmt, testlist):
> > > + for t in testlist:
> > > + if not imgfmt:
> > > + print('\n'.join([os.path.basename(t)]))
> > > + continue
> > > + # If a format has been given, we look for the "supported_fmt"
> > > + # and the "unsupported_fmt" lines in the test and try to find out
> > > + # whether the format is supported or not. This is only heuristics,
> > > + # but it should be good enough for "make check-block"
> >
> > I'm not completely sure if this is a good idea at all, but I think we
> > should at least mention the possible surprising cases where the
> > heuristics fails in this comment.
>
> Yeah, it's not perfect, but I also failed to come up with a better
> solution... do you have any other ideas?
Maybe fixing the qcow vs. qcow2 case could be possible relatively easily
by operating only on full words, but I don't have any fundamentally
different solution without touching every script.
If touching everything is an option, maybe we could have a standardised
comment line like we have with "# group:" today. This would be easy to
parse and work in both bash and Python scripts. But I'm not sure if it's
worth it.
> If not, would you be fine with the patch if I respin it with the comment
> here extended with some words about those surprising cases?
Yes, I just want to have potentially surprising behaviour documented.
Kevin
next prev parent reply other threads:[~2025-10-13 12:54 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-10 15:37 [PATCH 0/3] tests/qemu-iotests: Improve test detection for meson Thomas Huth
2025-09-10 15:37 ` [PATCH 1/3] tests/qemu-iotests/184: Fix skip message for qemu-img without throttle Thomas Huth
2025-10-02 14:05 ` Kevin Wolf
2025-09-10 15:37 ` [PATCH 2/3] tests/qemu-iotests: Improve the dry run list to speed up thorough testing Thomas Huth
2025-10-02 14:04 ` Kevin Wolf
2025-10-02 14:33 ` Thomas Huth
2025-10-13 12:51 ` Kevin Wolf [this message]
2025-10-14 9:51 ` Thomas Huth
2025-09-10 15:37 ` [PATCH 3/3] tests/qemu-iotest: Add more image formats to the " Thomas Huth
2025-10-02 14:07 ` Kevin Wolf
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=aOz1zLV4J5Znm_M3@redhat.com \
--to=kwolf@redhat.com \
--cc=hreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
/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.