From: Anthony Liguori <aliguori@us.ibm.com>
To: "Andreas Färber" <andreas.faerber@web.de>
Cc: "Mark McLoughlin" <markmc@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, "Alexander Graf" <agraf@suse.de>,
"Blue Swirl" <blauwirbel@gmail.com>,
"Max Filippov" <jcmvbkbc@gmail.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Markus Armbruster" <armbru@redhat.com>,
"Hervé Poussineau" <hpoussin@reactos.org>,
"Avi Kivity" <avi@redhat.com>,
"Stefan Hajnoczi" <stefanha@linux.vnet.ibm.com>,
"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
"Stefan Weil" <sw@weilnetz.de>,
"Riku Voipio" <riku.voipio@iki.fi>,
"Jan Kiszka" <jan.kiszka@web.de>,
"Paul Brook" <paul@codesourcery.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel Gollub" <gollub@b1-systems.de>,
"Luiz Capitulino" <lcapitulino@redhat.com>,
"Venkateswararao Jujjuri (JV)" <jvrao@linux.vnet.ibm.com>,
"Richard Henderson" <rth@twiddle.net>,
"Kevin Wolf" <kwolf@redhat.com>,
"Marcelo Tosatti" <mtosatti@redhat.com>,
"Michael Walle" <michael@walle.cc>,
"Amit Shah" <amit.shah@redhat.com>,
"Vassili Karpov (malc)" <av1474@comtv.ru>,
"Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [Qemu-devel] Please read: make check framework
Date: Mon, 09 Jan 2012 15:42:05 -0600 [thread overview]
Message-ID: <4F0B5F2D.1080904@us.ibm.com> (raw)
In-Reply-To: <4F0B54A7.9060504@web.de>
On 01/09/2012 02:57 PM, Andreas Färber wrote:
> Am 09.01.2012 20:28, schrieb Anthony Liguori:
>> On 01/09/2012 11:47 AM, Paul Brook wrote:
>>> - What level of testing is appropriate? As a maintainer when can/should I
>>> bounce a patch due to lack of tests?
>>
>> Yes.
>
> Note the "when". :)
I read "should".
I think I answered this below...
>
>>> e.g should new device emulation come with
>>> unit tests? New infrastructure? What about fixes to both of the above,
>>> should
>>> these include regression tests?
>>
>> There's a careful balance that we're going to need to work out over
>> time. We need to balance test coverage with setting reasonable criteria
>> for patch inclusion.
>
> Can we interpret that as new API infrastructure for now? As opposed to
> devices (needing qtest),
I'm working on the qtest integration patches right now actually.. Right now,
there's no excuse to not write test cases against anything that is
infrastructure and reasonably stand alone.
I hope to make it easy to write device specific test cases very soon too.
> TCG (not unified), KVM (autotest), build
> infrastructure (manually).
>
> Do you envision also testing scripts? (e.g., simpletrace.py,
> checkpatch.pl, tracetool[.py])
I don't see any of that stuff being in the critical path.
>> We're still short on infrastructure right now so I expect that a lot of
>> stuff will get merged without tests at first. As we get more test
>> infrastructure like qtest and qemu-test, I expect that to change.
>>
>> In terms of total coverage for any given feature, I think ultimately the
>> goal is to move the responsibility for regression testing from the
>> contributors of new features to the subsystems themselves.
>>
>> IOW, after we get going with our test infrastructure, when we do big
>> sweeping changes like the memory API or QOM, I will have much less
>> sympathy for breakages that are caused by subsystems with an incomplete
>> test suite.
>>
>> So I think the most important thing for maintainers to start thinking
>> about is how they can add the necessary infrastructure for testing their
>> subsystems.
>
> Well, I already tried pointing out that qemu-test in the way previously
> proposed does not help catching the recent regressions for PReP.
Actually, qemu-test did catch it. The only reason I didn't see it is that I
didn't add qemu-system-powerpc to my regression script that I'm using to drive
it. But simply booting up a Linux guest would have caught it.
> Neither am I a kernel guru to propose my own JeOS build and testing
> framework, nor do I think an abundance of test frameworks merely
> orchestrated by a common driver will do us much good...
It's really not that complicated... it's just building four packages in sequence.
>> From what I understand, qemu-test with building binutils, gcc, linux
> would not fit the stated 10 minutes goal.
The idea would be that qemu-jeos would generate the test images, make check
could probe for the existence of those images, and run tests if they are there.
The same principle could apply to anything else that has an external dependency.
> The intentions here are certainly good, just the process needs some more
> thought - or less absoluteness in announcing it.
There's no magic here. If you care about your code not breaking, write a unit
test so that other people can check to see if there changes broke your code.
We can bike shed all day long about how long things should run, or whether the
wording of the "rules" require us to write tests for checkpatch, but it's
counter productive.
If there's some piece of QEMU you care about, start writing tests and tie it
into make check. It's that simple :-)
> If the infrastructure
> we provide in a first step is good and people benefit from using it, we
> will gain coverage and supporting infrastructure over time. It's
> unlikely to work as a requirement from day one though.
Maintainers are going to have exercise discretion, yes.
But the mandate here (if there even is one), is while you can continue to
complain when people break your subsystem, if you aren't working to add test
infrastructure so people can reasonably test your subsystem, then your
complaints aren't going to receive much sympathy.
Regards,
Anthony Liguori
>
> Regards,
> Andreas
>
next prev parent reply other threads:[~2012-01-09 21:42 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-09 15:56 [Qemu-devel] [PATCH 01/11] tests: mv tests/* -> tests/tcg Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 02/11] build: split unit test builds to a separate makefile fragment Anthony Liguori
2012-01-09 19:23 ` Andreas Färber
2012-01-09 19:38 ` Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 03/11] check-qdict: convert to gtest Anthony Liguori
2012-01-09 18:27 ` Luiz Capitulino
2012-01-09 19:15 ` Anthony Liguori
2012-01-09 19:37 ` Luiz Capitulino
2012-01-09 19:26 ` Andreas Färber
2012-01-09 19:39 ` Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 04/11] check-qfloat: " Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 05/11] check-qint: " Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 06/11] check-qstring: " Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 07/11] check-qlist: " Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 08/11] check-qjson: " Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 09/11] check-qjson: enable disabled tests Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 10/11] test: eliminate libcheck tests and have make check use gtester Anthony Liguori
2012-01-09 19:35 ` Andreas Färber
2012-01-10 9:17 ` Gerd Hoffmann
2012-01-10 13:10 ` Anthony Liguori
2012-01-09 15:56 ` [Qemu-devel] [PATCH 11/11] check: add a check-report and check-help target Anthony Liguori
2012-01-09 20:00 ` Andreas Färber
2012-01-09 16:04 ` [Qemu-devel] Please read: make check framework Anthony Liguori
2012-01-09 16:16 ` Avi Kivity
2012-01-09 16:28 ` Anthony Liguori
2012-01-09 16:47 ` Daniel Gollub
2012-01-09 17:47 ` Paul Brook
2012-01-09 19:28 ` Anthony Liguori
2012-01-09 20:57 ` Andreas Färber
2012-01-09 21:42 ` Anthony Liguori [this message]
2012-01-09 23:22 ` Andreas Färber
2012-01-09 23:56 ` Anthony Liguori
2012-01-10 9:57 ` Kevin Wolf
2012-01-10 13:11 ` Anthony Liguori
2012-01-10 14:49 ` Andreas Färber
2012-01-10 15:39 ` Peter Maydell
2012-01-09 20:00 ` Stefan Weil
2012-01-10 8:39 ` Stefan Hajnoczi
2012-01-10 13:21 ` Luiz Capitulino
2012-01-09 19:18 ` [Qemu-devel] [PATCH 01/11] tests: mv tests/* -> tests/tcg Andreas Färber
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=4F0B5F2D.1080904@us.ibm.com \
--to=aliguori@us.ibm.com \
--cc=agraf@suse.de \
--cc=amit.shah@redhat.com \
--cc=andreas.faerber@web.de \
--cc=armbru@redhat.com \
--cc=aurelien@aurel32.net \
--cc=av1474@comtv.ru \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=edgar.iglesias@gmail.com \
--cc=gollub@b1-systems.de \
--cc=hpoussin@reactos.org \
--cc=jan.kiszka@web.de \
--cc=jcmvbkbc@gmail.com \
--cc=jvrao@linux.vnet.ibm.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=markmc@redhat.com \
--cc=michael@walle.cc \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=paul@codesourcery.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
--cc=rth@twiddle.net \
--cc=stefanha@linux.vnet.ibm.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=sw@weilnetz.de \
/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).