From: Thomas Huth <thuth@redhat.com>
To: Max Reitz <mreitz@redhat.com>, John Snow <jsnow@redhat.com>,
qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-block@nongnu.org
Subject: Re: [PATCH v5 1/5] iotests: remove 'linux' from default supported platforms
Date: Wed, 2 Oct 2019 06:46:45 +0200 [thread overview]
Message-ID: <62cf912a-8ee9-d023-84c2-1ad6ea94e3b8@redhat.com> (raw)
In-Reply-To: <778487c5-566e-d133-6395-d3908db66adc@redhat.com>
On 01/10/2019 20.44, Max Reitz wrote:
[...]
> As I have said, the conceptual problem is that the iotests now run as
> part of make check. As such, allowing auto tests to run on non-Linux
> platforms may introduce build failures that I cannot do anything about.
Well, simply run "make vm-build-openbsd", "make vm-build-freebsd", ...
if something fails there, it likely should not be in the auto group.
> And those are very much new failures.
>
>> I think that I have demonstrated sufficiently that it's not correct to
>> prohibit python tests from running on other platforms wholesale, so I'd
>> prefer we don't do that anymore.
>
> You have not.
>
> The actual argument to convince me is “This does not affect any tests in
> the auto group, so it will not introduce build failures at this time”.
I've applied the patch here and it works fine with FreeBSD and macOS:
https://cirrus-ci.com/build/5169384718336000
https://travis-ci.com/huth/qemu/builds/129968676
It also works fine with "make vm-build-openbsd BUILD_TARGET=check-block"
... so I think you don't have to worry here.
>> Further, iotests on FreeBSD already weren't 100% green, so I'm not
>> causing a regression in that sense, either.
>
> My problem is twofold:
>
> (1) You claim “Sure, there are failures, but let’s just deal with them”
> and then you do not deal with them. Seems wrong to me.
>
> I’m fine with the argument “Sorry, royal ‘we’. But it just doesn’t help
> anyone to hide the errors. If someone’s on BSD and wants to run the
> iotests, let them.”
>
> That sounds good to me.
>
> (2) Maybe someone adds a Python test in the future that is in auto and
> that does not specify Linux as the only supported platform. Then I send
> a pull request and it breaks on macOS. Now what? Remove it from auto?
> Blindly put "macOS" in unsupported platforms?
I think both solutions are good. If a test does not work on all systems,
it either should not be in the "auto" group, or it needs to be modified
to skip testing when running in an unsupported environment.
> In any case, it’ll be a problem for no good reason.
Really? Is "more test coverage" not a good reason?
> More on that in the next chunk.
>
>> I'm going to meekly push and ask that we stage this as-is, and when
>> something bad happens you can remind me that I wanted this and make me
>> do it.
>
> Make you do what? Deal with the fact that a pull request is rejected
> because a test fails on macOS?
>
> This is precisely the kind of problem I already had with adding the
> iotests to make check, and I’m already very much not happy about it.
> (In that case it was $DISPLAY not being set on Peter’s test system.)
>
> I’ll let you make the deduction of “The problem isn’t allowing the
> iotests to run on non-Linux platforms, but the fact that they run in
> make check” yourself, so that I no longer feel like I’m the only one who
> considers that having been a mistake.
Max, I can understand that you are a little bit annoyed that this "make
check with iotests" caused some extra hurdles for you. But honestly,
removing that again would be quite egoistic by you. Try to put yourself
into the position of a "normal", non-blocklayer-maintainer QEMU
developer. For me, iotests were a *constant* source of frustration.
Often, when I ran them on top of my latest and greatest patches, to
check whether I caused a regression, the iotests simply failed. Then I
had to start debugging - did my patches cause the break, or is "master"
broken, too? In almost all cases, there was an issue in the master
branch already, either because they were failing on s390x, or because I
was using ext4 instead of xfs, or because I was using an older distro
than you, etc... . So while the iotests likely worked fine for the
limited set of systems that you, Kevin and the other hard-core block
layer developers are using, it's constantly broken for everybody else
who is not using the very same setup as you. The only way of *not*
getting upset about the iotests was to simply completely *ignore* them.
Is it that what you want?
Or maybe let me phrase it differently: Do you consider the iotests as
something that is more or less "private" to the hard-core block layer
developers, and it's ok if others completely ignore them and break them
by accident (and you also don't expect the normal developers to fix the
iotests afterwards)? Then sure, please go ahead and remove the iotests
from "make check" again. Maybe I just understood the idea of having
common tests in the repository wrong (or maybe the iotests should be
moved to a separate repository instead, so that the normal QEMU
developers do not get in touch with them anymore?) ... Otherwise, I
think it was the right step to add them "make check" so that everybody
now *has* to run at least a basic set of the iotests now before they can
their patches merged.
Thomas
PS: Sorry, if my mail sounded a little bit harsh... but I really had
quite some frustration with the iotests in the past already.
next prev parent reply other threads:[~2019-10-02 4:47 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-17 23:45 [Qemu-devel] [PATCH v5 0/5] iotests: use python logging John Snow
2019-09-17 23:45 ` [Qemu-devel] [PATCH v5 1/5] iotests: remove 'linux' from default supported platforms John Snow
2019-09-18 13:16 ` Vladimir Sementsov-Ogievskiy
2019-09-23 13:09 ` Max Reitz
2019-09-23 17:21 ` John Snow
2019-09-27 23:35 ` John Snow
2019-10-01 18:44 ` Max Reitz
2019-10-02 4:46 ` Thomas Huth [this message]
2019-10-02 11:57 ` Max Reitz
2019-10-02 13:11 ` Thomas Huth
2019-10-02 13:36 ` Max Reitz
2019-10-02 14:26 ` Thomas Huth
2019-10-02 16:44 ` Kevin Wolf
2019-10-02 17:47 ` Max Reitz
2019-10-04 10:19 ` Kevin Wolf
2019-10-04 12:44 ` Max Reitz
2019-10-04 13:16 ` Peter Maydell
2019-10-04 13:50 ` Max Reitz
2019-10-04 14:05 ` Peter Maydell
2019-10-04 14:40 ` Max Reitz
2019-10-07 12:16 ` Thomas Huth
2019-10-07 12:38 ` Peter Maydell
2019-10-07 12:52 ` Max Reitz
2019-10-07 13:11 ` Thomas Huth
2019-10-07 16:28 ` Thomas Huth
2019-10-07 16:55 ` Max Reitz
2019-10-02 17:54 ` Thomas Huth
2019-10-03 0:16 ` John Snow
2019-09-17 23:45 ` [Qemu-devel] [PATCH v5 2/5] iotests: add script_initialize John Snow
2019-09-18 13:48 ` Vladimir Sementsov-Ogievskiy
2019-09-23 13:30 ` Max Reitz
2019-09-23 13:34 ` Max Reitz
2019-09-17 23:45 ` [Qemu-devel] [PATCH v5 3/5] iotest 258: use script_main John Snow
2019-09-23 13:33 ` Max Reitz
2019-09-17 23:45 ` [Qemu-devel] [PATCH v5 4/5] iotests: specify protocol support via initialization info John Snow
2019-09-23 13:35 ` Max Reitz
2019-09-17 23:45 ` [Qemu-devel] [PATCH v5 5/5] iotests: use python logging for iotests.log() John Snow
2019-09-18 14:52 ` Vladimir Sementsov-Ogievskiy
2019-09-18 17:11 ` John Snow
2019-09-23 13:57 ` Max Reitz
2019-10-04 15:39 ` [PATCH v5 0/5] iotests: use python logging Max Reitz
2019-10-11 23:39 ` John Snow
2020-02-24 11:15 ` Max Reitz
2020-02-25 21:50 ` John Snow
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=62cf912a-8ee9-d023-84c2-1ad6ea94e3b8@redhat.com \
--to=thuth@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@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).