From: Max Reitz <mreitz@redhat.com>
To: Maxim Levitsky <mlevitsk@redhat.com>, qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PATCH 15/18] iotests: Make 137 work with data_file
Date: Mon, 30 Sep 2019 15:57:53 +0200 [thread overview]
Message-ID: <7a200f05-9233-5f70-10d4-f377d2db6a23@redhat.com> (raw)
In-Reply-To: <4067372d453e08515b079cff564f9d56fba2a21b.camel@redhat.com>
[-- Attachment #1.1: Type: text/plain, Size: 2689 bytes --]
On 30.09.19 15:46, Maxim Levitsky wrote:
> On Mon, 2019-09-30 at 15:38 +0200, Max Reitz wrote:
>> On 29.09.19 18:38, Maxim Levitsky wrote:
>>> On Fri, 2019-09-27 at 11:42 +0200, Max Reitz wrote:
>>>> When using an external data file, there are no refcounts for data
>>>> clusters. We thus have to adjust the corruption test in this patch to
>>>> not be based around a data cluster allocation, but the L2 table
>>>> allocation (L2 tables are still refcounted with external data files).
>>>>
>>>> Doing so means this test works both with and without external data
>>>> files.
>>>>
>>>> Signed-off-by: Max Reitz <mreitz@redhat.com>
>>>> ---
>>>> tests/qemu-iotests/137 | 10 ++++++----
>>>> tests/qemu-iotests/137.out | 4 +---
>>>> 2 files changed, 7 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/tests/qemu-iotests/137 b/tests/qemu-iotests/137
>>>> index 6cf2997577..dd3484205e 100755
>>>> --- a/tests/qemu-iotests/137
>>>> +++ b/tests/qemu-iotests/137
>>>> @@ -138,14 +138,16 @@ $QEMU_IO \
>>>> "$TEST_IMG" 2>&1 | _filter_qemu_io
>>>>
>>>> # The dirty bit must not be set
>>>> -$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features
>>>> +# (Filter the external data file bit)
>>>> +$PYTHON qcow2.py "$TEST_IMG" dump-header | grep incompatible_features \
>>>> + | sed -e 's/0x4/0x0/'
>>>
>>> Maybe it is better to filter all the feature bits, but the dirty bit,
>>> since only it is needed here, so that when we start running tests with
>>> more features, we won't need to do this again?
>>
>> I’d hate a filter s/[02468ace]$/no dirty bit/ though.
> Nothing a helper function can't solve IMHO, I would convert this to a number,
> and then check bitwise the bit 2, assuming that is the dirty bit)
> Again, note that my approach to code is to make it as easy as possible for the
> next guy to change, so I am noticing such places. Eventually someone of us,
> will be that next guy. Then again, I don't mind leaving this as is, just noting this.
Again, my approach to tests is that they aren’t classical code.
This is a very personal opinion, but I have found that tests that have
the most ad-hoc code with the least function calls are the easiest to
work with.
Tests that have a whole lot of infrastructure and try to have nice code
are a horror to work with because you first have to understand how they
work.
Tests should be simple, not complex. Some ad-hoc filters do not make
them complex as long as it’s obvious what they do.
Also, the correct approach here is not to do number crunching in bash.
It is to change qcow2.py to emit more easily filterable information.
Max
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2019-09-30 13:59 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-27 9:42 [PATCH 00/18] iotests: Allow ./check -o data_file Max Reitz
2019-09-27 9:42 ` [PATCH 01/18] iotests: Filter refcount_order in 036 Max Reitz
2019-09-29 16:31 ` Maxim Levitsky
2019-09-30 12:43 ` Max Reitz
2019-09-30 13:40 ` Maxim Levitsky
2019-09-30 13:44 ` Max Reitz
2019-09-30 13:58 ` Maxim Levitsky
2019-09-30 14:04 ` Max Reitz
2019-09-30 14:14 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 02/18] iotests: Replace IMGOPTS by _unsupported_imgopts Max Reitz
2019-09-29 16:31 ` Maxim Levitsky
2019-09-30 12:59 ` Max Reitz
2019-09-30 14:47 ` Maxim Levitsky
2019-09-30 14:59 ` Max Reitz
2019-09-27 9:42 ` [PATCH 03/18] iotests: Drop compat=1.1 in 050 Max Reitz
2019-09-29 16:32 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 04/18] iotests: Let _make_test_img parse its parameters Max Reitz
2019-09-29 16:32 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 05/18] iotests: Add -o and --no-opts to _make_test_img Max Reitz
2019-09-29 16:32 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 06/18] iotests: Inject space into -ocompat=0.10 in 051 Max Reitz
2019-09-29 16:32 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 07/18] iotests: Replace IMGOPTS= by -o Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-30 13:00 ` Max Reitz
2019-09-30 14:30 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 08/18] iotests: Replace IMGOPTS='' by --no-opts Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 09/18] iotests: Drop IMGOPTS use in 267 Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-30 13:01 ` Max Reitz
2019-09-30 14:32 ` Maxim Levitsky
2019-09-30 15:01 ` Max Reitz
2019-09-30 15:06 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 10/18] iotests: Avoid qemu-img create Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 11/18] iotests: Use _rm_test_img for deleting test images Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 12/18] iotests: Avoid cp/mv of " Max Reitz
2019-09-29 16:33 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 13/18] iotests: Make 091 work with data_file Max Reitz
2019-09-29 16:34 ` Maxim Levitsky
2019-09-30 13:07 ` Max Reitz
2019-09-27 9:42 ` [PATCH 14/18] iotests: Make 110 " Max Reitz
2019-09-29 16:34 ` Maxim Levitsky
2019-09-30 13:34 ` Max Reitz
2019-09-30 13:41 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 15/18] iotests: Make 137 " Max Reitz
2019-09-29 16:38 ` Maxim Levitsky
2019-09-30 13:38 ` Max Reitz
2019-09-30 13:46 ` Maxim Levitsky
2019-09-30 13:57 ` Max Reitz [this message]
2019-09-30 14:06 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 16/18] iotests: Make 198 " Max Reitz
2019-09-29 16:38 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 17/18] iotests: Disable data_file where it cannot be used Max Reitz
2019-09-29 16:39 ` Maxim Levitsky
2019-09-27 9:42 ` [PATCH 18/18] iotests: Allow check -o data_file Max Reitz
2019-09-29 16:39 ` Maxim Levitsky
2019-09-30 13:43 ` Max Reitz
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=7a200f05-9233-5f70-10d4-f377d2db6a23@redhat.com \
--to=mreitz@redhat.com \
--cc=kwolf@redhat.com \
--cc=mlevitsk@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).