From: Dave Chinner <david@fromorbit.com>
To: "Nirjhar Roy (IBM)" <nirjhar.roy.lists@gmail.com>
Cc: Theodore Ts'o <tytso@mit.edu>,
fstests@vger.kernel.org, linux-ext4@vger.kernel.org,
linux-xfs@vger.kernel.org, ritesh.list@gmail.com,
ojaswin@linux.ibm.com, djwong@kernel.org, zlang@kernel.org
Subject: Re: [PATCH v2 2/3] check: Add -q <n> option to support unconditional looping.
Date: Wed, 16 Apr 2025 09:28:40 +1000 [thread overview]
Message-ID: <Z_7rqLbQCLAY5zbN@dread.disaster.area> (raw)
In-Reply-To: <9619fb07-1d2c-4f23-8a62-3c73ca37bec3@gmail.com>
On Tue, Apr 15, 2025 at 01:02:49PM +0530, Nirjhar Roy (IBM) wrote:
>
> On 4/14/25 03:18, Theodore Ts'o wrote:
> > On Thu, Apr 03, 2025 at 08:58:19AM +0000, Nirjhar Roy (IBM) wrote:
> > > This patch adds -q <n> option through which one can run a given test <n>
> > > times unconditionally. It also prints pass/fail metrics at the end.
> > >
> > > The advantage of this over -L <n> and -i/-I <n> is that:
> > > a. -L <n> will not re-run a flakey test if the test passes for the first time.
> > > b. -I/-i <n> sets up devices during each iteration and hence slower.
> > > Note -q <n> will override -L <n>.
> > I'm wondering if we need to keep the current behavior of -I/-i. The
> > primary difference between them and how your proposed -q works is that
> > instead of iterating over the section, your proposed option iterates
> > over each test. So for example, if a section contains generic/001 and
> > generic/002, iterating using -i 3 will do this:
>
> Yes, the motivation to introduce -q was to:
>
> 1. Make the re-run faster and not re-format the device. -i re-formats the
> device and hence is slightly slower.
Why does -i reformat the test device on every run in your setup?
i.e. if the FSTYP is not changing from iteration to iteration, then
each iteration should not reformat the test device at all. Unless, of
course, you have told it to do so via the RECREATE_TEST_DEV env
variable....
Hence it seems to me like this is working around some other setup or
section iteration problem here...
> 2. To unconditionally loop a test - useful for scenarios when a flaky test
> doesn't fail for the first time (something that -L) does.
That's what -i does. it will unconditionally loop over the specified
tests N times regardless of success or failure.
OTOH, -I will abort on first failure. i.e. to enable flakey tests
to be run until it eventually fails and leave the corpse behind for
debugging.
> So, are saying that re-formatting a disk on every run, something that -i
> does, doesn't have much value and can be removed?
-i does not imply that the test device should be reformatted on
every loop. If that is happening, that is likely a result of test
config or environment conditions.
Can you tell us why the test device is getting reformatted on every
iteration in your setup?
> > generic/001
> > generic/002
> > generic/001
> > generic/002
> > generic/001
> > generic/002
> >
> > While generic -q 3 would do this instead:
> >
> > generic/001
> > generic/001
> > generic/001
> > generic/002
> > generic/002
> > generic/002
There are arguments both for and against the different iteration
orders. However, if there is no overriding reason to change the
existing order of test execution, then we should not change the
order or test execution....
-Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2025-04-15 23:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-03 8:58 [PATCH v2 0/3] Add support for -q <n> unconditional loop Nirjhar Roy (IBM)
2025-04-03 8:58 ` [PATCH v2 1/3] tests/selftest: Add a new pseudo flaky test Nirjhar Roy (IBM)
2025-04-03 8:58 ` [PATCH v2 2/3] check: Add -q <n> option to support unconditional looping Nirjhar Roy (IBM)
2025-04-13 21:48 ` Theodore Ts'o
2025-04-15 7:32 ` Nirjhar Roy (IBM)
2025-04-15 23:28 ` Dave Chinner [this message]
2025-04-23 6:02 ` Nirjhar Roy (IBM)
2025-04-15 9:06 ` Ritesh Harjani
2025-04-03 8:58 ` [PATCH v2 3/3] check: Improve pass/fail metrics and section config output Nirjhar Roy (IBM)
2025-04-09 16:34 ` [PATCH v2 0/3] Add support for -q <n> unconditional loop Nirjhar Roy (IBM)
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=Z_7rqLbQCLAY5zbN@dread.disaster.area \
--to=david@fromorbit.com \
--cc=djwong@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=nirjhar.roy.lists@gmail.com \
--cc=ojaswin@linux.ibm.com \
--cc=ritesh.list@gmail.com \
--cc=tytso@mit.edu \
--cc=zlang@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox