All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, "Fam Zheng" <fam@euphon.net>,
	"Kevin Wolf" <kwolf@redhat.com>, "Ed Maste" <emaste@freebsd.org>,
	qemu-block@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Max Reitz" <mreitz@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Li-Wen Hsu" <lwhsu@freebsd.org>
Subject: Re: [Qemu-devel] [PATCH 2/6] tests/qemu-iotests/group: Introduce a new "ci" group for CI pipelines
Date: Wed, 24 Apr 2019 13:50:46 +0100	[thread overview]
Message-ID: <20190424125046.GJ31388@redhat.com> (raw)
In-Reply-To: <c2202c0c-e504-7678-d1f3-6afc67bd2164@redhat.com>

On Wed, Apr 24, 2019 at 02:37:02PM +0200, Thomas Huth wrote:
> On 24/04/2019 13.25, Daniel P. Berrangé wrote:
> > On Wed, Apr 24, 2019 at 12:37:43PM +0200, Thomas Huth wrote:
> >> Tests in this group are supposed to run in every possible QEMU configuration.
> >> That means they should run with every QEMU binary (also non-x86), without
> >> dependencies on an optional features, they must work at least with the qcow2
> >> image format and be able to run on all kind of host filesystems and users
> >> (i.e. also as "nobody" or "root").
> >>
> >> The initial list has been created as a subset of the "quick" group, where
> >> I've disabled all tests that are failing with qemu-system-aarch64 or
> >> qemu-system-tricore or in one of our CI pipelines.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >>  tests/qemu-iotests/group | 194 ++++++++++++++++++++-------------------
> >>  1 file changed, 102 insertions(+), 92 deletions(-)
> >>
> >> diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
> >> index bae7718380..2ed42dcc14 100644
> >> --- a/tests/qemu-iotests/group
> >> +++ b/tests/qemu-iotests/group
> >> @@ -4,63 +4,73 @@
> >>  # - do not start group names with a digit
> >>  #
> >>  
> >> +#
> >> +# Some notes about the groups:
> >> +# - Tests in the "quick" group should finish within some few seconds
> >> +# - Tests in the "ci" group are suitable for running in CI systems. That
> >> +#   means they should run with every QEMU binary (also non-x86), with
> >> +#   every QEMU configuration (i.e. no dependency on an optional feature),
> >> +#   at least with the qcow2 image format and all kind of host filesystems
> >> +#   and users (i.e. also as "nobody" or "root").
> > 
> > No dependancy on optional features feels a bit restrictive from my POV.
> > 
> > We have quite alot of testing coverage of stuff that depends on the
> > crypto libraries that is important for us to run in "CI". This includes
> > LUKS block drivers, qcow2 with LUKS,  NBD with TLS. Personally I expect
> > all of those to be tested by CI systems.
> > 
> > IOW for a "CI" group, the bar should be higher than "no optional features"
> 
> Ok, I think I just did not write it properly. What I meant was: the test
> should not *fail* because of a missing feature (what some tests are
> unfortunately doing). It's fine if the test detects the missing feature
> and then marks the test as *skip*.

Ok, this brings back the topic I don't think we ever resolved around how
to best "detect" features in the iotests. eg if we want to know whether
we can use TLS features, how do we decide this ?

One option is to do a dummy launch of QEMU using TLS & check if it fails,
but that's kind of fragile for CI. A genuine bug in QEMU might cause this
dummy launch to fail, and thus mistakenly skip all the tests instead of
failing.

We can't look at config-host.{h,mak} either as iotests are supposed to be
runnable outside of a build tree.

We could look at whether gnutls is linked to QEMU but again that is going
to be fragile if a bug in configure causes us to mistakenly stop enabling
gnutls.

For developers, dynamically probing features & skipping is reasonable.

For automated CI, I think we should set clear desired featureset upfront
based on what we know we are supposde to have available and not silently
skip tests


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

WARNING: multiple messages have this Message-ID (diff)
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>, "Kevin Wolf" <kwolf@redhat.com>,
	"Ed Maste" <emaste@freebsd.org>,
	qemu-block@nongnu.org,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	qemu-devel@nongnu.org, "Max Reitz" <mreitz@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Li-Wen Hsu" <lwhsu@freebsd.org>
Subject: Re: [Qemu-devel] [PATCH 2/6] tests/qemu-iotests/group: Introduce a new "ci" group for CI pipelines
Date: Wed, 24 Apr 2019 13:50:46 +0100	[thread overview]
Message-ID: <20190424125046.GJ31388@redhat.com> (raw)
Message-ID: <20190424125046.0ZZSou6K_XNBEHRXMZHo3k9at6duOmcb2vH25G6fPr8@z> (raw)
In-Reply-To: <c2202c0c-e504-7678-d1f3-6afc67bd2164@redhat.com>

On Wed, Apr 24, 2019 at 02:37:02PM +0200, Thomas Huth wrote:
> On 24/04/2019 13.25, Daniel P. Berrangé wrote:
> > On Wed, Apr 24, 2019 at 12:37:43PM +0200, Thomas Huth wrote:
> >> Tests in this group are supposed to run in every possible QEMU configuration.
> >> That means they should run with every QEMU binary (also non-x86), without
> >> dependencies on an optional features, they must work at least with the qcow2
> >> image format and be able to run on all kind of host filesystems and users
> >> (i.e. also as "nobody" or "root").
> >>
> >> The initial list has been created as a subset of the "quick" group, where
> >> I've disabled all tests that are failing with qemu-system-aarch64 or
> >> qemu-system-tricore or in one of our CI pipelines.
> >>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >> ---
> >>  tests/qemu-iotests/group | 194 ++++++++++++++++++++-------------------
> >>  1 file changed, 102 insertions(+), 92 deletions(-)
> >>
> >> diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
> >> index bae7718380..2ed42dcc14 100644
> >> --- a/tests/qemu-iotests/group
> >> +++ b/tests/qemu-iotests/group
> >> @@ -4,63 +4,73 @@
> >>  # - do not start group names with a digit
> >>  #
> >>  
> >> +#
> >> +# Some notes about the groups:
> >> +# - Tests in the "quick" group should finish within some few seconds
> >> +# - Tests in the "ci" group are suitable for running in CI systems. That
> >> +#   means they should run with every QEMU binary (also non-x86), with
> >> +#   every QEMU configuration (i.e. no dependency on an optional feature),
> >> +#   at least with the qcow2 image format and all kind of host filesystems
> >> +#   and users (i.e. also as "nobody" or "root").
> > 
> > No dependancy on optional features feels a bit restrictive from my POV.
> > 
> > We have quite alot of testing coverage of stuff that depends on the
> > crypto libraries that is important for us to run in "CI". This includes
> > LUKS block drivers, qcow2 with LUKS,  NBD with TLS. Personally I expect
> > all of those to be tested by CI systems.
> > 
> > IOW for a "CI" group, the bar should be higher than "no optional features"
> 
> Ok, I think I just did not write it properly. What I meant was: the test
> should not *fail* because of a missing feature (what some tests are
> unfortunately doing). It's fine if the test detects the missing feature
> and then marks the test as *skip*.

Ok, this brings back the topic I don't think we ever resolved around how
to best "detect" features in the iotests. eg if we want to know whether
we can use TLS features, how do we decide this ?

One option is to do a dummy launch of QEMU using TLS & check if it fails,
but that's kind of fragile for CI. A genuine bug in QEMU might cause this
dummy launch to fail, and thus mistakenly skip all the tests instead of
failing.

We can't look at config-host.{h,mak} either as iotests are supposed to be
runnable outside of a build tree.

We could look at whether gnutls is linked to QEMU but again that is going
to be fragile if a bug in configure causes us to mistakenly stop enabling
gnutls.

For developers, dynamically probing features & skipping is reasonable.

For automated CI, I think we should set clear desired featureset upfront
based on what we know we are supposde to have available and not silently
skip tests


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


  reply	other threads:[~2019-04-24 12:51 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24 10:37 [Qemu-devel] [PATCH 0/6] tests/qemu-iotests: Run basic iotests during "make check" Thomas Huth
2019-04-24 10:37 ` Thomas Huth
2019-04-24 10:37 ` [Qemu-devel] [PATCH 1/6] tests/qemu-iotests/check: Pick a default machine if necessary Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-30 21:31   ` Alex Bennée
2019-04-30 21:31     ` Alex Bennée
2019-04-24 10:37 ` [Qemu-devel] [PATCH 2/6] tests/qemu-iotests/group: Introduce a new "ci" group for CI pipelines Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-24 11:25   ` Daniel P. Berrangé
2019-04-24 11:25     ` Daniel P. Berrangé
2019-04-24 12:37     ` Thomas Huth
2019-04-24 12:37       ` Thomas Huth
2019-04-24 12:50       ` Daniel P. Berrangé [this message]
2019-04-24 12:50         ` Daniel P. Berrangé
2019-04-24 13:01         ` Thomas Huth
2019-04-24 13:01           ` Thomas Huth
2019-04-24 13:12         ` Daniel P. Berrangé
2019-04-24 13:12           ` Daniel P. Berrangé
2019-04-25  7:44         ` Thomas Huth
2019-04-25  7:44           ` Thomas Huth
2019-04-24 10:37 ` [Qemu-devel] [PATCH 3/6] tests/qemu-iotests: Do not hard-code the path to bash Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-24 14:14   ` Eric Blake
2019-04-24 14:14     ` Eric Blake
2019-04-24 14:42     ` Philippe Mathieu-Daudé
2019-04-24 14:42       ` Philippe Mathieu-Daudé
2019-04-24 15:23     ` Daniel P. Berrangé
2019-04-24 15:23       ` Daniel P. Berrangé
2019-04-25  7:48       ` Thomas Huth
2019-04-25  7:48         ` Thomas Huth
2019-04-30 21:33   ` Alex Bennée
2019-04-30 21:33     ` Alex Bennée
2019-04-24 10:37 ` [Qemu-devel] [PATCH 4/6] cirrus / travis: Add gnu-sed and bash for macOS and FreeBSD Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-24 21:29   ` Wainer dos Santos Moschetta
2019-04-24 21:29     ` Wainer dos Santos Moschetta
2019-04-25  6:00     ` Thomas Huth
2019-04-25  6:00       ` Thomas Huth
2019-04-26 16:43       ` Laszlo Ersek
2019-04-26 16:43         ` Laszlo Ersek
2019-05-06 10:12         ` [Qemu-devel] Update *BSD images with gnu-sed and bash (was: [PATCH 4/6] cirrus / travis: Add gnu-sed and bash for macOS and FreeBSD) Thomas Huth
2019-05-07  8:32           ` Gerd Hoffmann
2019-05-07 10:13             ` Thomas Huth
2019-05-08  7:06           ` [Qemu-devel] Update *BSD images with gnu-sed and bash Kamil Rytarowski
2019-05-08  8:07             ` Thomas Huth
2019-05-08 19:21               ` Kamil Rytarowski
2019-04-24 10:37 ` [Qemu-devel] [PATCH 5/6] tests: Run the iotests during "make check" again Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-24 10:48   ` Daniel P. Berrangé
2019-04-24 10:48     ` Daniel P. Berrangé
2019-04-24 10:59     ` Thomas Huth
2019-04-24 10:59       ` Thomas Huth
2019-04-24 12:02       ` Vladimir Sementsov-Ogievskiy
2019-04-24 12:02         ` Vladimir Sementsov-Ogievskiy
2019-04-24 12:13         ` Daniel P. Berrangé
2019-04-24 12:13           ` Daniel P. Berrangé
2019-04-24 12:18           ` Vladimir Sementsov-Ogievskiy
2019-04-24 12:18             ` Vladimir Sementsov-Ogievskiy
2019-04-24 20:42   ` Wainer dos Santos Moschetta
2019-04-24 20:42     ` Wainer dos Santos Moschetta
2019-04-25  5:57     ` Thomas Huth
2019-04-25  5:57       ` Thomas Huth
2019-04-25 10:24       ` Thomas Huth
2019-04-25 10:24         ` Thomas Huth
2019-04-28  2:42         ` Eric Blake
2019-04-28  2:42           ` Eric Blake
2019-04-24 10:37 ` [Qemu-devel] [PATCH 6/6] tests/qemu-iotests: Remove the "_supported_os Linux" line from many tests Thomas Huth
2019-04-24 10:37   ` Thomas Huth
2019-04-27  4:51 ` [Qemu-devel] [PATCH 0/6] tests/qemu-iotests: Run basic iotests during "make check" no-reply
2019-04-27  4:51   ` no-reply
2019-04-29 12:04 ` Christian Borntraeger
2019-04-29 12:04   ` Christian Borntraeger

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=20190424125046.GJ31388@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=emaste@freebsd.org \
    --cc=fam@euphon.net \
    --cc=kwolf@redhat.com \
    --cc=lwhsu@freebsd.org \
    --cc=mreitz@redhat.com \
    --cc=philmd@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.