From: Jeff Cody <jcody@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, jsnow@redhat.com,
stefanha@redhat.com, qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v5 03/10] qemu-iotests: automatically clean up bash protocol servers
Date: Wed, 18 Oct 2017 11:34:16 -0400 [thread overview]
Message-ID: <20171018153416.GF17962@localhost.localdomain> (raw)
In-Reply-To: <d3682b70-64c6-1284-77c4-8df561a61098@redhat.com>
On Wed, Oct 18, 2017 at 05:16:44PM +0200, Paolo Bonzini wrote:
> On 18/10/2017 17:03, Jeff Cody wrote:
> > On Wed, Oct 18, 2017 at 04:46:20PM +0200, Paolo Bonzini wrote:
> >> On 17/10/2017 18:31, Jeff Cody wrote:
> >>> )
> >>> else
> >>> + # Do this in a sub-shell, so we are operating on the right
> >>> + # TEST_DIR / QEMU_TEST_DIR
> >>> (
> >>> export TEST_DIR=$TEST_DIR_SEQ
> >>> cd "$source_iotests";
> >> Where is the missing ")"?
> > It's part of the diff context, not a change itself... it's still there, just
> > not shown in the patch.
> >
> >>> @@ -837,6 +841,15 @@ do
> >>> fi
> >>> fi
> >>>
> >>> + # Do this in a sub-shell, so we are operating on the right
> >>> + # TEST_DIR / QEMU_TEST_DIR
> >>> + (
> >>> + export TEST_DIR=$TEST_DIR_SEQ
> >>> + . "$source_iotests/common.config"
> >>> + . "$source_iotests/common.rc"
> >>> +
> >>> + _cleanup_protocols
> >> "check" wasn't including common.rc before this patch, and most of the
> >> content of that file doesn't apply to "check". So if we want to move
> >> cleanup code to "check" we should remove it from common.rc too.
> >>
> >> In general, I think we should strive to have a better separation between
> >> tests and harness. This for example could let us write a different
> >> harness for the same tests and integrate the tests better into Avocado.
> >> Hence I see one advantage and one disadvantage in your series:
> >>
> >> * by adding more functionality to "check", it shows that the current
> >> separation may fail with a more sophisticated harness (such as the one
> >> you are creating here)
> >>
> >> * it adds a lot more knowledge of QEMU (especially protocols) in
> >> "check", but there is still some unbalance: tests create the images and
> >> the protocol servers, but the harness cleans it up. The visible result
> >> of this unbalance is for example how multi-process protocol tests can
> >> fail when multiple tests try to bind the same address.
> >>
> >> I think it's the right direction, but it feels like it's not there
> >> yet... Sorry---I know this is not very constructive, but I hope it
> >> helps anyway.
> >>
> >> Maybe we should actually rewrite "check" in Python. That would force us
> >> to think more about the design.
> >
> > I think writing a more sophisticated harness in another language, such as
> > Python, has merit. But to clarify, do you mean that as a 'nack' to this
> > series, or as something to be done later, after this series? If this series
> > improves the existing harness, I don't see why to exclude it because a new
>
> Well, I have no idea (hence the "not very constructive" part). I'm only
> "nacking" the sourcing of common.rc in the check script.
>
> The series improves the harness, but it also sets a very different
> separation between the tests and the harness (especially WRT the tests
> cleaning up after themselves). The level of separation would at least
> be clearer if check didn't include common.rc.
>
I can get rid of the common.rc includes prior to running the tests, but this
series really requires including common.rc in the spot you mentioned, for
automatically cleaning up protocol and QEMU processes.
That auto-cleanup is arguably a big improvement, as it has been relatively
common to run across tests that leave processes running in the background.
I agree that it sets up different expectations, but that is at least partly
intentional. I don't really want to have to rely on individually written
tests to clean up properly. That is ~200 chances (and growing) for a
mistake; instead, this series moves that responsibility into a single place
to maintain.
next prev parent reply other threads:[~2017-10-18 15:34 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-17 16:31 [Qemu-devel] [PATCH v5 00/10] qemu-iotests improvements Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 01/10] qemu-iotests: refuse to run if TEST_DIR contains spaces Jeff Cody
2017-10-18 1:03 ` Eric Blake
2017-10-18 3:05 ` Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 02/10] qemu-iotests: set TEST_DIR to a unique dir for each test Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 03/10] qemu-iotests: automatically clean up bash protocol servers Jeff Cody
2017-10-18 1:15 ` Eric Blake
2017-10-18 14:46 ` Paolo Bonzini
2017-10-18 15:03 ` Jeff Cody
2017-10-18 15:16 ` Paolo Bonzini
2017-10-18 15:34 ` Jeff Cody [this message]
2017-10-18 15:39 ` Paolo Bonzini
2017-10-18 15:50 ` Jeff Cody
2017-10-18 15:51 ` Paolo Bonzini
2017-10-18 16:19 ` Jeff Cody
2017-10-18 16:39 ` Paolo Bonzini
2017-10-18 17:27 ` Jeff Cody
2017-10-19 10:23 ` Paolo Bonzini
2017-10-19 14:52 ` Jeff Cody
2017-10-19 21:03 ` Paolo Bonzini
2017-10-18 15:06 ` Eric Blake
2017-10-18 15:43 ` Daniel P. Berrange
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 04/10] qemu-iotests: remove file cleanup from bash tests Jeff Cody
2017-10-18 13:46 ` Eric Blake
2017-10-18 13:56 ` Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 05/10] qemu-iotests: change qemu pid and fd tracking / cleanup Jeff Cody
2017-10-18 13:59 ` Jeff Cody
2017-10-18 14:11 ` Eric Blake
2017-10-18 14:22 ` Eric Blake
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 06/10] qemu-iotests: make ./check automatically reap QEMU processes Jeff Cody
2017-10-18 14:24 ` Eric Blake
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 07/10] qemu-iotests: run python tests in own subdirectories Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 08/10] qemu-iotests: modify python tests to run from subdir Jeff Cody
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 09/10] qemu-iotests: add option to save temp files on error Jeff Cody
2017-10-18 14:33 ` Eric Blake
2017-10-17 16:31 ` [Qemu-devel] [PATCH v5 10/10] qemu-iotests: add support for running multi-threaded iotests Jeff Cody
2017-10-18 3:45 ` Jeff Cody
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=20171018153416.GF17962@localhost.localdomain \
--to=jcody@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@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 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).