qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: "Cleber Rosa" <crosa@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>
Cc: qemu-devel@nongnu.org, Stefan Markovic <smarkovic@wavecomp.com>,
	Aleksandar Markovic <amarkovic@wavecomp.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Caio Carrara <ccarrara@redhat.com>,
	qemu-s390x@nongnu.org, Aurelien Jarno <aurelien@aurel32.net>,
	Cornelia Huck <cohuck@redhat.com>, Fam Zheng <fam@euphon.net>,
	Wainer dos Santos Moschetta <wainersm@redhat.com>,
	Aleksandar Rikalo <arikalo@wavecomp.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [Qemu-devel] [PATCH 14/18] Boot Linux Console Test: add a test for ppc64 + pseries
Date: Thu, 31 Jan 2019 11:23:07 +0100	[thread overview]
Message-ID: <209afb25-10e9-ced3-e6d3-d6324d571c89@redhat.com> (raw)
In-Reply-To: <dc4dff53-8786-c62c-63a9-4203604c03bc@redhat.com>

On 1/31/19 3:37 AM, Cleber Rosa wrote:
> On 1/22/19 11:07 AM, Alex Bennée wrote:
>> Cleber Rosa <crosa@redhat.com> writes:
>>
>>> Just like the previous tests, boots a Linux kernel on a ppc64 target
>>> using the pseries machine.
>>
>> So running this on my rather slow SynQuacer I get:
>>
>>  (04/16) /home/alex/lsrc/qemu.git/tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc64_pseries: INTERRUPTED: Test reported status but did not finish\nRunner error occurred: Timeout reached\nOriginal status: ERROR\n{'name': '04-/home/alex/lsrc/qemu.git/tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc64_pseries', 'logdir': '/home/alex/lsrc/qemu.git/te... (60.93 s)
>>
>> which I'm guessing is a timeout occurring.
>>
> 
> Yes, that's what's happening.  It's hard to pinpoint, and control, the
> sluggishness points in such a test running on a different environment.
> For this one execution, I do trust your assessment, and it's most
> certainly caused by your "slow SynQuacer", spending too much running
> emulation code.
> 
> But, I'd like to mention that there are other possibilities.  One is
> that you're hitting a "asset fetcher bug" that I recently fixed in
> Avocado[1] (fix to be available on 68.0, to be released next Monday, Feb
> 4th).
> 
> Even with that bug fixed, I feel like it's unfair to test code to spend
> its time waiting to download a file when it's not testing *the file
> download itself*.  Because of that, there are plans to add an (optional)
> job pre-processing step that will make sure the needed assets are in the
> cache ahead of time[2][3].
> 
>> I wonder if that means we should:
>>
>>   a) set timeouts longer for when running on TCG

I hit the same problem with VM tests, and suggested a poor "increase
timeout" patch [1].

Then Peter sent a different patch [2] which happens to inadvertently
Dictionary resolve my problem, since the longer a VM took to boot on the
Cavium ThunderX I have access is 288 seconds, which is closely below the
300 seconds limit =) I understood nobody seemed to really care about
testing the x86 TCG backend this way, so I didn't worry much.

[1] http://lists.nongnu.org/archive/html/qemu-devel/2018-07/msg03416.html
[2] http://lists.nongnu.org/archive/html/qemu-devel/2018-08/msg04977.html

>>   or
>>   b) split tests into TCG and KVM tests and select KVM tests on appropriate HW
>>
> 
> I wonder the same, and I believe this falls into a similar scenario
> we've seen with the setup of console devices in the QEMUMachine class.
> I've started by setting the device types defined at the framework level,
> and then reverted to the machine's default devices (using '-serial'),
> because the "default" behavior of QEMU is usually what a test writer
> wants when not setting something else explicitly.
> 
>> The qemu.py code has (slightly flawed) logic for detecting KVM and
>> passing --enable-kvm. Maybe we should be doing that here?
>>
> 
> I'm not sure.  IMO, the common question is: should we magically (at a
> framework level) configure tests based on probed host environment
> characteristics?  I feel like we should attempt to minimize that for the
> sake of tests being more obvious and more easily reproducible.

I agree we shouldn't randomly test different features, but rather
explicitly add 2 tests (TCG/KVM), and if it is not possible to run a
test, mark it as SKIPPED.

An user with KVM available would then have to run --filter-out=tcg, or
build QEMU with --disable-tcg.

> And because of that, I'd go, *initially*, with an approach more similar
> to your option "b".
> 
> Having said that, we don't want to rewrite most tests just to be able to
> test with either KVM or TCG, if the tests are not explicitly testing KVM
> or TCG.  At this point, using KVM or TCG is test/framework
> *configuration*, and in Avocado we hope to solve this by having the
> executed tests easily identifiable and reproducible (a test ID will
> contain a information about the options passed, and a replay of the job
> will apply the same configuration).
> 
> For now, I think the best approach is to increase the timeout, because I
> think it's much worse to have to deal with false negatives (longer
> execution times that don't really mean a failure), than having a test
> possibly taking some more time to finish.
> 
> And sorry for extremely the long answer!
> - Cleber.
> 
> [1] - https://github.com/avocado-framework/avocado/pull/2996
> [2] -
> https://trello.com/c/WPd4FrIy/1479-add-support-to-specify-assets-in-test-docstring
> [3] - https://trello.com/c/CKP7YS6G/1481-on-cache-check-for-asset-fetcher
> 

  reply	other threads:[~2019-01-31 10:23 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-17 18:56 [Qemu-devel] [PATCH 00/18] Acceptance Tests: target architecture support Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 01/18] scripts/qemu.py: log QEMU launch command line Cleber Rosa
2019-01-21 20:19   ` Caio Carrara
2019-01-22  9:47   ` Philippe Mathieu-Daudé
2019-01-22 11:17   ` Alex Bennée
2019-01-17 18:56 ` [Qemu-devel] [PATCH 02/18] Acceptance tests: show avocado test execution by default Cleber Rosa
2019-01-21 20:20   ` Caio Carrara
2019-01-22  9:50   ` Philippe Mathieu-Daudé
2019-01-22 11:19   ` Alex Bennée
2019-01-17 18:56 ` [Qemu-devel] [PATCH 03/18] Acceptance tests: improve docstring on pick_default_qemu_bin() Cleber Rosa
2019-01-21 20:20   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 04/18] Acceptance tests: fix doc reference to avocado_qemu directory Cleber Rosa
2019-01-21 20:21   ` Caio Carrara
2019-01-22  9:51   ` Philippe Mathieu-Daudé
2019-01-17 18:56 ` [Qemu-devel] [PATCH 05/18] Acceptance tests: introduce arch parameter and attribute Cleber Rosa
2019-01-18 14:28   ` Caio Carrara
2019-01-22  9:54     ` Philippe Mathieu-Daudé
2019-01-30 21:49     ` Cleber Rosa
2019-01-30 21:59     ` Cleber Rosa
2019-01-31 13:55   ` Wainer dos Santos Moschetta
2019-01-31 19:01     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 06/18] Acceptance tests: use "arch:" tag to filter target specific tests Cleber Rosa
2019-01-18 10:38   ` Cornelia Huck
2019-01-30 22:15     ` Cleber Rosa
2019-01-21 20:24   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 07/18] Acceptance tests: look for target architecture in test tags first Cleber Rosa
2019-01-21 20:25   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 08/18] Boot Linux Console Test: rename the x86_64 after the arch and machine Cleber Rosa
2019-01-21 20:26   ` Caio Carrara
2019-01-22  9:56   ` Philippe Mathieu-Daudé
2019-01-17 18:56 ` [Qemu-devel] [PATCH 09/18] Boot Linux Console Test: update the x86_64 kernel Cleber Rosa
2019-01-21 20:27   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 10/18] Boot Linux Console Test: refactor the console watcher into utility method Cleber Rosa
2019-01-21 20:28   ` Caio Carrara
2019-01-22 10:06   ` Philippe Mathieu-Daudé
2019-01-31  0:17     ` Cleber Rosa
2019-01-31 17:46   ` Wainer dos Santos Moschetta
2019-01-31 19:29     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 11/18] scripts/qemu.py: support adding a console with the default serial device Cleber Rosa
2019-01-21 20:29   ` Caio Carrara
2019-01-31 18:49   ` Wainer dos Santos Moschetta
2019-01-31 20:05     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 12/18] Boot Linux Console Test: add a test for mips + malta Cleber Rosa
2019-01-21 20:30   ` Caio Carrara
2019-01-22 10:16   ` Philippe Mathieu-Daudé
2019-01-31  0:27     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 13/18] Boot Linux Console Test: add a test for mips64el " Cleber Rosa
2019-01-21 20:31   ` Caio Carrara
2019-01-22 10:19   ` Philippe Mathieu-Daudé
2019-01-31  1:26     ` Cleber Rosa
2019-01-31 10:24       ` Philippe Mathieu-Daudé
2019-01-22 10:57   ` Philippe Mathieu-Daudé
2019-01-31  1:34     ` Cleber Rosa
2019-01-31 10:26       ` Philippe Mathieu-Daudé
2019-01-31 15:06         ` Cleber Rosa
2019-01-31 18:14   ` Wainer dos Santos Moschetta
2019-01-31 20:11     ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 14/18] Boot Linux Console Test: add a test for ppc64 + pseries Cleber Rosa
2019-01-21 20:32   ` Caio Carrara
2019-01-22 16:07   ` Alex Bennée
2019-01-31  2:37     ` Cleber Rosa
2019-01-31 10:23       ` Philippe Mathieu-Daudé [this message]
2019-01-17 18:56 ` [Qemu-devel] [PATCH 15/18] Boot Linux Console Test: add a test for aarch64 + virt Cleber Rosa
2019-01-21 20:32   ` Caio Carrara
2019-01-31 20:02   ` Wainer dos Santos Moschetta
2019-01-31 20:21     ` Cleber Rosa
2019-01-31 21:26       ` Cleber Rosa
2019-02-01 16:10         ` Cleber Rosa
2019-06-07  3:26           ` Eduardo Habkost
2019-06-07  3:42             ` Eduardo Habkost
2019-06-07 15:44               ` Cleber Rosa
2019-06-07 18:58                 ` Eduardo Habkost
2019-06-10  8:53                   ` Daniel P. Berrangé
2019-06-10 16:50                     ` Cleber Rosa
2019-06-07  7:41             ` Laszlo Ersek
2019-06-07 15:33             ` Cleber Rosa
2019-01-17 18:56 ` [Qemu-devel] [PATCH 16/18] Boot Linux Console Test: add a test for arm " Cleber Rosa
2019-01-21 20:33   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 17/18] Boot Linux Console Test: add a test for s390x + s390-ccw-virtio Cleber Rosa
2019-01-18  8:58   ` Cornelia Huck
2019-01-18 13:45     ` Cleber Rosa
2019-01-21 20:34   ` Caio Carrara
2019-01-17 18:56 ` [Qemu-devel] [PATCH 18/18] Boot Linux Console Test: add a test for alpha + clipper Cleber Rosa
2019-01-21 20:34   ` Caio Carrara
2019-01-22 10:52   ` Philippe Mathieu-Daudé
2019-01-31  2:53     ` Cleber Rosa
2019-01-31 10:30       ` Philippe Mathieu-Daudé
2019-01-31 20:23         ` Cleber Rosa
2019-01-21 22:15 ` [Qemu-devel] [PATCH 00/18] Acceptance Tests: target architecture support Aleksandar Markovic
2019-01-22 10:48   ` Philippe Mathieu-Daudé
2019-01-31 15:01     ` Cleber Rosa
2019-02-01  5:32       ` Aleksandar Markovic
2019-02-01 16:17         ` Cleber Rosa
2019-01-31 18:09 ` no-reply

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=209afb25-10e9-ced3-e6d3-d6324d571c89@redhat.com \
    --to=philmd@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=amarkovic@wavecomp.com \
    --cc=arikalo@wavecomp.com \
    --cc=aurelien@aurel32.net \
    --cc=ccarrara@redhat.com \
    --cc=cohuck@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=fam@euphon.net \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=smarkovic@wavecomp.com \
    --cc=wainersm@redhat.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).