From: Lucas Meneghel Rodrigues <lmr@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Scott Zawalski <scottz@google.com>,
Cleber Rosa <crosa@redhat.com>,
QEMU devel <qemu-devel@nongnu.org>,
"kvm-autotest@redhat.com" <kvm-autotest@redhat.com>,
Ademar Reis <areis@redhat.com>
Subject: Re: [Qemu-devel] [RFC] Future goals for autotest and virtualization tests
Date: Thu, 08 Mar 2012 20:07:27 -0300 [thread overview]
Message-ID: <4F593BAF.1020201@redhat.com> (raw)
In-Reply-To: <4F59237F.6010406@codemonkey.ws>
On 03/08/2012 06:24 PM, Anthony Liguori wrote:
>>
>> Cons:
>> - Lot of code will be duplicated to cover the main code paths:
>> writting tests will require writting/supporting considerable
>> ammount of code (that already exists in autotest).
>
> Again, existence proof that this isn't true.
Case in point, the virtio test (that uses an auxiliary script to send
data to the host). Can you tell me if both tests cover even remotely the
same amount of functionality?
https://github.com/autotest/autotest/blob/master/client/tests/kvm/tests/virtio_console.py
https://github.com/autotest/autotest/blob/master/client/virt/scripts/virtio_console_guest.py
Here is the qemu-test version
http://git.qemu.org/?p=qemu-test.git;a=blob;f=tests/virtio-serial.sh;h=e95ae6e0b63758262919702d51a9c83bebe2fb08;hb=master
What the qemu-test version covers:
* host starts qemu with one virtio console device backed by a file
* guest verifies if the name of the device is correct
* guest writes to the console device
* host verifies if guest wrote to the virtio console
What the virtio-console covers:
* Sends data between host and guest back and forth, validates the data
being sent, for both small and large amounts of data, both random or
sequential.
* Tests write/send in blocking, polling, selecting mode, with port
mode sync/async
* Verifies if the maximum amount of ports was created and it's
available in the guest
* Tries lseek on the device
* Verifies if concomitant access to a single port passes or fails
* Verifies data throughput and resource utilization
* Repeats the data transfer with live migration to see if the port
connections survive
* Keeps an eye on the guest OS to see if we have kernel panics, and if
it does, it'll clean up and put the guest in a working state so other
functionality can be checked
* Probably something else I'm forgetting right now.
Good luck implementing that in a shell script. I'd love to see how you
implement that amount of coverage in less lines in shell.
So, more coverage, more code. It's as simple as that. We don't write
code just for the sake of it.
>> - QE will be alienated from the qemu test effort. There will be
>> no integration between the QE efforts and the maintenance of
>> the qemu developer-level tests.
>
> I think we're a pretty friendly and open community :-) There is no
> reason that QE should be "alienated" unless folks are choosing not to
> participate upstream.
>
>> - You don't get the goodies from autotest (standardized system
>> info collection, video recording, grid support, etc).
>> - The new tests will work only on the master branch.
>
> This last one is a legitimate point that I have considered myself. But I
> think the value of having tests in HEAD outweigh the cost here.
>
>> 3. A mix of (1) and (2): we "move" everything under qemu.git, but
>> keep the compatibility layer and provide a "libqemutest" for
>> third-parties.
>>
>> Anybody writting a test that interacts with qemu will use this
>> library: qemu, libvirt, spice, ovirt, QE tests, etc.
>
> I really see this all as over architecting to be honest.
>
> Can someone explain in clear terms (without appealing to maturity,
> flexibility, or any other qualitative aspect) why it takes anything more
> than a few dozen shell functions to write all of the tests that are in
> kvm-autotest test today?
Clearly as your requirements are different than the ones we had when the
project was written, qemu-test doesn't need any of the stuff present
there and you can do it all with a handful of shell script functions.
But to do cover the same things covered in autotest today with the same
requirements, I really doubt you can do the same with the same handful
of shell script functions. See the example about the virtio test above,
not to mention other functionality we have with the tests, such as make
possible to do tests run with a migration thread going on the
background, while it's plugging/unplugging devices, running a stress
test or ltp, or a benchmark, or measuring the time drift experienced by
the guest.
next prev parent reply other threads:[~2012-03-08 23:07 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-08 4:00 [Qemu-devel] [RFC] Future goals for autotest and virtualization tests Lucas Meneghel Rodrigues
2012-03-08 11:44 ` Stefan Hajnoczi
2012-03-08 11:54 ` Stefan Hajnoczi
2012-03-08 12:17 ` Ademar Reis
2012-03-08 12:18 ` Ademar Reis
2012-03-09 11:48 ` [Qemu-devel] [KVM-AUTOTEST] " Osier Yang
2012-03-08 12:28 ` [Qemu-devel] " Cleber Rosa
2012-03-08 13:06 ` Stefan Hajnoczi
2012-03-08 13:36 ` Anthony Liguori
2012-03-08 14:01 ` Lucas Meneghel Rodrigues
2012-03-08 14:48 ` Anthony Liguori
2012-03-08 15:00 ` Ademar Reis
2012-03-08 23:59 ` Andreas Färber
2012-03-09 0:08 ` Ademar Reis
2012-03-08 14:49 ` Ademar Reis
2012-03-08 14:56 ` Anthony Liguori
2012-03-08 15:07 ` Ademar Reis
2012-03-08 15:14 ` Anthony Liguori
2012-03-08 16:05 ` Ademar Reis
2012-03-08 17:03 ` Anthony Liguori
2012-03-08 17:59 ` Ademar Reis
2012-03-08 18:21 ` Lucas Meneghel Rodrigues
2012-03-08 18:22 ` Lucas Meneghel Rodrigues
2012-03-08 19:16 ` Anthony Liguori
2012-03-08 21:02 ` Ademar Reis
2012-03-08 21:24 ` Anthony Liguori
2012-03-08 22:24 ` Ademar Reis
2012-03-08 23:21 ` Anthony Liguori
2012-03-08 23:51 ` Ademar Reis
2012-03-09 9:41 ` Stefan Hajnoczi
2012-03-09 14:00 ` Ademar Reis
2012-03-09 14:54 ` Stefan Hajnoczi
2012-03-09 15:01 ` Ademar Reis
2012-03-09 15:17 ` Stefan Hajnoczi
2012-03-09 11:14 ` Kevin Wolf
2012-03-09 11:59 ` Anthony Liguori
2012-03-09 12:13 ` Kevin Wolf
2012-03-09 12:24 ` Anthony Liguori
2012-03-09 11:20 ` Cleber Rosa
2012-03-09 12:04 ` Anthony Liguori
2012-03-09 12:40 ` Cleber Rosa
2012-03-09 12:42 ` Anthony Liguori
2012-03-09 12:46 ` Cleber Rosa
2012-03-08 23:07 ` Lucas Meneghel Rodrigues [this message]
2012-03-08 23:56 ` Ademar Reis
2012-03-09 0:04 ` Anthony Liguori
2012-03-09 13:24 ` Paolo Bonzini
2012-03-09 12:13 ` Anthony Liguori
2012-03-09 12:48 ` Lucas Meneghel Rodrigues
2012-03-09 14:13 ` Anthony Liguori
2012-03-09 14:40 ` Lucas Meneghel Rodrigues
2012-03-09 14:40 ` Ademar Reis
2012-03-09 13:07 ` Paolo Bonzini
2012-03-09 13:56 ` Anthony Liguori
2012-03-09 14:43 ` Paolo Bonzini
2012-03-09 14:48 ` Anthony Liguori
2012-03-09 13:03 ` Paolo Bonzini
2012-03-08 15:46 ` Kevin Wolf
2012-03-08 15:57 ` Ademar Reis
2012-03-08 16:10 ` Anthony Liguori
2012-03-08 16:34 ` Kevin Wolf
2012-03-08 16:36 ` Anthony Liguori
2012-03-08 16:46 ` Ademar Reis
2012-03-08 16:47 ` Kevin Wolf
2012-03-08 16:08 ` Anthony Liguori
2012-03-08 15:19 ` Lucas Meneghel Rodrigues
2012-03-08 18:57 ` Anthony Liguori
2012-03-08 19:34 ` Lucas Meneghel Rodrigues
2012-03-08 19:43 ` Anthony Liguori
2012-03-08 20:17 ` Lucas Meneghel Rodrigues
2012-03-08 21:02 ` Andreas Färber
2012-03-08 21:03 ` Anthony Liguori
2012-03-09 13:36 ` Paolo Bonzini
2012-03-09 14:01 ` Anthony Liguori
2012-03-09 14:30 ` Paolo Bonzini
2012-03-09 14:43 ` Anthony Liguori
2012-03-09 15:00 ` Paolo Bonzini
2012-03-09 15:02 ` Anthony Liguori
2012-03-09 15:17 ` Paolo Bonzini
2012-03-09 15:24 ` Anthony Liguori
2012-03-09 15:34 ` Paolo Bonzini
2012-03-09 15:48 ` Anthony Liguori
2012-03-09 17:02 ` Cleber Rosa
2012-03-08 14:04 ` Alon Levy
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=4F593BAF.1020201@redhat.com \
--to=lmr@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=areis@redhat.com \
--cc=crosa@redhat.com \
--cc=kvm-autotest@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=scottz@google.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).