qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: qemu-devel@nongnu.org
Cc: "'J. Mayer'" <l_indien@magic.fr>, 'Paul Brook' <paul@codesourcery.com>
Subject: Re: QEMU Automated Testing (was [Qemu-devel] qemu Makefile.target vl.h	hw/acpi.c hw/adlib.c ...)
Date: Fri, 27 Jul 2007 09:29:11 -0500	[thread overview]
Message-ID: <46AA0137.8060007@codemonkey.ws> (raw)
In-Reply-To: <20070727142142.GX8527@erizo.shearer.org>

FYI, I've started building a VNC based automated tester.  You provide it 
a series of screenshots with masks of data that's likely to be 
semi-random and it'll wait for each screen shot.  It also has the smarts 
to find where the mouse is so that you can move it to an exact location.

I'll have something functional (along with a paper) within a month.

Regards,

Anthony Liguori

Dan Shearer wrote:
> On Sun, Apr 08, 2007 at 09:43:20PM +0100, Natalia Portillo wrote:
>
> Whoops, slightly late reply :-)
>
>   
>> I have a huge list of operating systems (both closed and open source, that
>> works and that doesn't work under QEMU) that can be used to check that QEMU
>> doesn't broke (or even, that it corrects a non-working state).
>>     
>
> Where the problem with QEMU is not something basic (eg doesn't boot) it
> can be useful to use nested virtualisation. Although QEMU in QEMU is of
> course slow because that case hasn't been optimised, if you have a
> single image within which are many other images savevm'd just before
> the error condition occurs, you can run a repeatable testsuite quite
> quickly. And since you can snapshot the outer image, you know that you
> are running these tests in exactly the same way every time. (There are a
> lot of other uses for recursive virtualisation, I'm a fan of it!)
>
>   
>> And I think it is better to check an installed image that to test it only
>> boots or installs (faster at least).
>>     
>
> Agreed. As to installs I had to do something similar for different VM
> systems a while ago and I found it useful to have a frozen image just
> before the typical "detecting hardware" phase of an installation. The
> point of this was not to compare the hardware that was detected, just to
> detect major malfunctions. Hardware probing like this is uniquely
> stressful. It isn't hard to notice if an installer crashes, or the VM
> crashes, or there's lot's of errors. 
>
>   
>> Fabrice and me discussed about taking screenshot per some seconds to compare
>> with known took screenshots and if something fails shutdown the VM and send
>> an email.
>>
>> But that required some macro interface "click at x,y, wait some seconds,
>> press 'k' key", that is not currently under QEMU.
>>     
>
> Why can't you redirect the QEMU monitor to something easily accessible,
> eg a virtual serial port, and then use mouse_move and sendkey monitor
> commands to drive testing, and screendump to save images for comparison?
> Those commands have been in the monitor for years, so is there something
> I'm not understanding here?
>
>   
>> The best solution I think is to get a way to send QEMU the screenshot to
>> file command some times and stop the VM when both are equal, then send the
>> last took screenshot to a mail address so breakability can be checked. (If
>> it is the login window, great, it BOOTS!, if not, it doesn't)
>>
>> What do you think?
>>     
>
> The problem is synchronisation given that QEMU has no guaranteed time
> domain, so you don't know if your target is failing or just being slow
> so you keep on taking screenshots for a ridiculously long time.  You can
> take fewer screenshots if you have some out-of-band signal. For example
> knowing to expect a particular screenshot around the time that a
> particular file is touched or a particular hardware device is
> initialised, or a magic QEMU-specific CPU instruction is executed.
>
>   
>> I have enough spare space to hold the boot images (600Gibibytes free), and a
>> machine that should be able to automatically checkout and compile QEMU
>> (Athlon XP 2000+, 768Mb RAM, 600GiB free, Gentoo Linux).
>>     
>
> Compiling is really important. Even without testing targets, this would
> be a very good community service if you want to do even just this much.
> Compiling a simulator under itself in all supported configurations is an
> important set of tests (compile/run MIPS under IA32, IA32 under PPC32,
> etc especially 32/64 mixes, then the different supported compiler
> versions, and then a couple of different Linux distributions with their
> different choices of library versions and configurations.) This is
> probably 24 hours of hard work. I have seen simulators choke on these
> sorts of tests.
>
>   
>> Just, I have not the knowledge to make the script that boots qemu, says qemu
>> to take the screenshot, compares the took one with the last one, stops qemu,
>> sends the last screenshot by email, compresses all took screenshots, goes to
>> next VM, so on. (Preferibly without X11 running, as the machine is a mostly
>> headless P2P and File server)
>>     
>
> I think this can be simplified. Care to send a copy offlist of what
> you've done and i'll have a look at it?
>
> --
> Dan Shearer
> dan@shearer.org
>
>
>
>   

  reply	other threads:[~2007-07-27 14:29 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-07 18:14 [Qemu-devel] qemu Makefile.target vl.h hw/acpi.c hw/adlib.c Paul Brook
2007-04-07 18:32 ` J. Mayer
2007-04-07 19:10   ` Paul Brook
2007-04-07 19:32     ` Blue Swirl
2007-04-07 19:46       ` Paul Brook
2007-04-07 20:28     ` J. Mayer
2007-04-07 20:45       ` Paul Brook
2007-04-07 22:18         ` J. Mayer
2007-04-07 22:49           ` Thiemo Seufer
2007-04-07 23:13           ` Paul Brook
2007-04-07 23:54             ` J. Mayer
2007-04-08  0:04               ` Thiemo Seufer
2007-04-08  7:49                 ` IRQ handling (was [Qemu-devel] qemu Makefile.target vl.h hw/acpi.c hw/adlib.c ...) J. Mayer
2007-04-08  8:38                   ` J. Mayer
2007-04-08 14:41                   ` Thiemo Seufer
2007-04-08 16:31                     ` J. Mayer
2007-04-08 20:43                       ` QEMU Automated Testing " Natalia Portillo
2007-04-08 22:07                         ` Eduardo Felipe
2007-04-08 23:53                           ` Natalia Portillo
2007-04-09  9:36                             ` Eduardo Felipe
2007-04-09 21:19                         ` Rob Landley
2007-04-10 11:24                         ` Jamie Lokier
2007-04-10 12:00                         ` Pierre d'Herbemont
2007-07-27 14:21                         ` Dan Shearer
2007-07-27 14:29                           ` Anthony Liguori [this message]
2007-07-27 14:34                             ` Dan Shearer
2007-07-27 14:58                               ` Sunil Amitkumar Janki
2007-07-27 15:12                                 ` Dan Shearer
2007-07-27 15:50                                   ` Sunil Amitkumar Janki
2007-07-27 16:04                                     ` Dan Shearer
2007-07-27 16:50                                     ` Jan Marten Simons
2007-07-27 18:51                                 ` Thiemo Seufer
2007-07-27 19:55                                   ` Sunil Amitkumar Janki
2007-07-28 10:17                                     ` Thiemo Seufer
2007-07-28 11:41                                       ` Sunil Amitkumar Janki
2007-07-28 12:43                                         ` [Qemu-devel] Re: QEMU Automated Testing Stefan Weil
2007-07-27 18:54                                 ` QEMU Automated Testing (was [Qemu-devel] qemu Makefile.target vl.h hw/acpi.c hw/adlib.c ...) Andreas Färber
2007-07-28 10:36                                   ` Thiemo Seufer
2007-07-29 15:31                                     ` Andreas Färber
2007-04-10 11:17                       ` IRQ handling " Jamie Lokier
2007-04-09  0:41                   ` [Qemu-devel] Re: IRQ handling Paul Brook
2007-04-09 11:11                     ` J. Mayer
2007-04-09 13:58                       ` Paul Brook
2007-04-09 14:56                         ` J. Mayer
2007-04-09 16:57                           ` Paul Brook
2007-04-07 23:26         ` [Qemu-devel] qemu Makefile.target vl.h hw/acpi.c hw/adlib.c Fabrice Bellard
2007-04-08 13:06           ` Wang Cheng Yeh
2007-04-08 13:56             ` Thiemo Seufer
2007-04-08 22:45           ` Paul Brook
2007-04-07 21:20       ` Thiemo Seufer
  -- strict thread matches above, loose matches on Subject: below --
2007-07-27 17:15 QEMU Automated Testing (was [Qemu-devel] qemu Makefile.target vl.h hw/acpi.c hw/adlib.c ...) n schembr
2007-07-27 17:38 ` Paul Brook
2007-07-27 17:55   ` Anthony Liguori
2007-07-27 22:03     ` Paul Brook
2007-07-27 22:59 n schembr

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=46AA0137.8060007@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=l_indien@magic.fr \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    /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).