From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: "lmr@redhat.com" <lmr@redhat.com>,
Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>,
cleber@redhat.com, dlaor@redhat.com,
qemu-devel <qemu-devel@nongnu.org>,
Gerd Hoffmann <kraxel@redhat.com>, Cleber Rosa <crosa@redhat.com>
Subject: Re: [Qemu-devel] [ANNOUNCE] qemu-test: a set of tests scripts for QEMU
Date: Thu, 29 Dec 2011 18:46:04 +0200 [thread overview]
Message-ID: <4EFC994C.9030205@redhat.com> (raw)
In-Reply-To: <4EFC94A9.1040300@codemonkey.ws>
On 12/29/2011 06:26 PM, Anthony Liguori wrote:
> On 12/28/2011 11:21 AM, Avi Kivity wrote:
>> On 12/28/2011 06:42 PM, Anthony Liguori wrote:
>>>> In fact using linux as a guest negates that. First of all, which
>>>> linux
>>>> version? if it's fixed, you'll eventually miss functionality and
>>>> need to
>>>> migrate. If it keeps changing, so does your test, and it will keep
>>>> breaking.
>>>
>>>
>>> The kernel is a git submodule so it's a very specific version. Yes,
>>> we may need to bump the version down the road and obviously, if we
>>> have to change any tests in the process, we can.
>>
>> Having a full linux source as part of the build process detracts
>> somewhat from the advantages here.
>
> Except that binaries can be made available. The initramfs is
> currently 512k while the kernel is about 5MB.
>
> OTOH, a Fedora install runs in the multiple GB. Having
> kernels/initramfs for the dozen target types that QEMU supports is
> reasonable. Having Fedora installs for all of them probably isn't for
> most people.
Then use DSL for the ping test.
>
>>> But there's certain things that I still consider to be unit testing
>>> (like basic networking tests) that I don't want to have to write with
>>> qtest. I'm not up for writing a TCP/IP stack in Python...
>>
>> A ping test is not a unit test.
>>
>> The ping test is already covered by kvm-autotest; just set up a config
>> that runs just that; after the initial run you'll have a guest installed
>> so it'll be quick. If we have a DSL guest it'll even be very quick.
>
> Achieving this with kvm-autotest is not easy. I doubt that DSL has an
> automated install mechanism and the step file based guest installation
> is fincky at best.
>
> When we had the kvm-autotest day, none of the folks that tried to set
> it up who had never set it up before had something working by the end
> of the day. And that was with lmr available on IRC to answer questions.
>
> There is a huge setup cost with kvm-autotest.
That needs to be fixed, not workarounded. I previously advised Lucas
not to spend too much time on this, since the audience is limited and it
would be hard to amortize the effort. Now I see that this was wrong.
>
>> To test the various NIC emulations, you don't need a full TCP stack,
>> just like you didn't need to write an NTP implementation for qtest's rtc
>> test. Instead you just poke values until it sends out a packet. If you
>> want to test virtio-net with both direct and indirect buffers, you can
>> only do that with a unit test, you can't do it using a full linux guest
>> since it has its own ideas of when to use indirects and when to avoid
>> them (for example, it may choose to always avoid them).
>
> I am not advocating that we don't write proper unit tests...
Right, and qtest is dangerously close to making writing tests fun. But
qemu-test is a wierd cross between qtest and kvm-autotest.
>
>>> Acceptance testing is, "does Windows boot", "can I create three
>>> virtio-serial devices".
>>>
>>> Obviously, part of acceptance testing is, "does this set of functional
>>> tests pass".
>>
>> Seems like a very blurry line. Especially as the functional test is
>> weaker than either qtest and kvm-autotest. I now have to agree with the
>> others that it's duplicate functionality. Does it really matter whether
>> you're creating an image by compiling Linux and assembling and
>> initramfs, or by downloading Fedora.iso and installing it?
>
> Yes. One of them is built entirely from source and the other is doing
> something meant to be done on bare metal.
>
> How do you test ARM guests with kvm-autotest? There is no such thing
> as an ISO installer for ARM. Are we going to download random images
> from the internet?
Do exactly what you plan to do with qemu-test.
>
> Even if there is an ISO, installing a guest with TCG will take many
> hours. My local qemu-test repo can now fully bootstrap an initramfs
> for non-x86 targets (which involves building gcc and uClibc). Start
> to finish it takes about 30 minutes regardless of the target (since
> the build runs natively).
You can skip the install test and only do the boot test. Seed your disk
with images from qemu.org or by running the install. kvm-autotest does
this.
>
>> Would you add live migration testing to qemu-test? If yes, you're
>> duplicating some more. If not, you're not doing functional or coverage
>> tests for that functionality.
>
> I would add live migration schema testing, absolutely. I wouldn't add
> an acceptance test though.
>
> An acceptance test with live migration would be creating a guest,
> running it, and then seeing it live migration worked.
Then it's duplicate functionality. It's already been done, but the
setup procedure is hard, so let's do it again.
>
>>> I don't want to write a TCP/IP stack. We aren't just grabbing a
>>> random distro kernel. We're building one from scratch configured in a
>>> specific way.
>>
>> How does that help?
>
> Not sure I understand the question.
>
In what way is your specifically configured kernel's TCP stack better
than the random distro's kernel's?
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2011-12-29 16:46 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-19 17:13 [Qemu-devel] [ANNOUNCE] qemu-test: a set of tests scripts for QEMU Anthony Liguori
2011-12-19 17:39 ` Avi Kivity
2011-12-19 17:55 ` Anthony Liguori
2011-12-20 20:34 ` Lucas Meneghel Rodrigues
2011-12-25 15:19 ` Dor Laor
2011-12-26 15:12 ` Anthony Liguori
2011-12-26 23:00 ` Dor Laor
2011-12-27 15:22 ` Anthony Liguori
2011-12-27 15:58 ` Avi Kivity
2011-12-27 16:40 ` Anthony Liguori
2011-12-27 18:00 ` Lucas Meneghel Rodrigues
2011-12-27 22:35 ` Cleber Rosa
2011-12-28 2:37 ` Anthony Liguori
2011-12-28 4:15 ` Cleber Rosa
2011-12-28 5:01 ` Cleber Rosa
2011-12-28 14:27 ` Anthony Liguori
2011-12-28 15:01 ` Avi Kivity
2011-12-28 15:28 ` Avi Kivity
2011-12-28 16:44 ` Anthony Liguori
2011-12-28 17:26 ` Avi Kivity
2011-12-29 16:12 ` Anthony Liguori
2011-12-29 16:36 ` Avi Kivity
2011-12-29 16:49 ` Anthony Liguori
2011-12-29 17:03 ` Avi Kivity
2011-12-29 17:10 ` Anthony Liguori
2011-12-29 17:18 ` Avi Kivity
2011-12-29 17:22 ` Peter Maydell
2011-12-29 17:26 ` Avi Kivity
2011-12-29 17:36 ` Peter Maydell
2011-12-29 17:40 ` Avi Kivity
2011-12-29 17:49 ` Peter Maydell
2011-12-29 17:56 ` Avi Kivity
2011-12-29 21:10 ` Peter Maydell
2012-01-01 9:21 ` Avi Kivity
2011-12-29 18:35 ` Anthony Liguori
2011-12-29 19:04 ` Peter Maydell
2011-12-29 19:40 ` Blue Swirl
2011-12-29 21:46 ` Anthony Liguori
2011-12-29 22:10 ` Peter Maydell
2011-12-29 22:30 ` Anthony Liguori
2011-12-30 15:43 ` Andreas Färber
2012-01-03 13:42 ` Anthony Liguori
2012-01-03 14:51 ` Andreas Färber
2011-12-29 22:11 ` Lucas Meneghel Rodrigues
2011-12-29 18:33 ` Anthony Liguori
2011-12-30 13:44 ` Andreas Färber
2012-01-02 14:07 ` Paolo Bonzini
2012-01-03 8:19 ` Stefan Hajnoczi
2012-01-03 9:10 ` Paolo Bonzini
2011-12-28 16:42 ` Anthony Liguori
2011-12-28 17:21 ` Avi Kivity
2011-12-29 14:38 ` Dor Laor
2011-12-29 16:39 ` Anthony Liguori
2011-12-29 16:53 ` Avi Kivity
2011-12-29 17:02 ` Anthony Liguori
2011-12-29 17:06 ` Avi Kivity
2011-12-29 17:11 ` Anthony Liguori
2011-12-29 23:17 ` Lucas Meneghel Rodrigues
2011-12-30 0:33 ` Anthony Liguori
2011-12-30 1:20 ` Lucas Meneghel Rodrigues
2011-12-30 2:20 ` Cleber Rosa
2012-01-03 13:52 ` Anthony Liguori
2011-12-29 22:45 ` Lucas Meneghel Rodrigues
2011-12-29 16:26 ` Anthony Liguori
2011-12-29 16:46 ` Avi Kivity [this message]
2011-12-29 16:53 ` Anthony Liguori
2011-12-29 17:08 ` Avi Kivity
2011-12-29 17:14 ` Anthony Liguori
2011-12-29 17:22 ` Avi Kivity
2011-12-29 18:27 ` Anthony Liguori
2011-12-29 17:16 ` Anthony Liguori
2011-12-29 17:23 ` Avi Kivity
2011-12-28 14:49 ` Christoph Hellwig
2011-12-28 16:30 ` Anthony Liguori
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=4EFC994C.9030205@redhat.com \
--to=avi@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=cleber@redhat.com \
--cc=crosa@redhat.com \
--cc=dlaor@redhat.com \
--cc=kraxel@redhat.com \
--cc=lmr@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@linux.vnet.ibm.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).