qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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

  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).