qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"John Snow" <jsnow@redhat.com>,
	"Laurent Vivier" <lvivier@redhat.com>
Subject: Re: [PATCH 6/6] mtest2make: stop disabling meson test timeouts
Date: Thu, 1 Jun 2023 21:15:56 +0200	[thread overview]
Message-ID: <13784cfe-1666-3350-cf79-7508afb79ede@redhat.com> (raw)
In-Reply-To: <20230601163123.1805282-7-berrange@redhat.com>

On 01/06/2023 18.31, Daniel P. Berrangé wrote:
> The mtest2make.py script passes the arg '-t 0' to 'meson test' which
> disables all test timeouts. This is a major source of pain when running
> in GitLab CI and a test gets stuck. It will stall until GitLab kills the
> CI job. This leaves us with little easily consumable information about
> the stalled test. The TAP format doesn't show the test name until it is
> completed, and TAP output from multiple tests it interleaved. So we
> have to analyse the log to figure out what tests had un-finished TAP
> output present and thus infer which test case caused the hang. This is
> very time consuming and error prone.
> 
> By allowing meson to kill stalled tests, we get a direct display of what
> test program got stuck, which lets us more directly focus in on what
> specific test case within the test program hung.
> 
> The other issue with disabling meson test timeouts by default is that it
> makes it more likely that maintainers inadvertantly introduce slowdowns.
> For example the recent-ish change that accidentally made migrate-test
> take 15-20 minutes instead of around 1 minute.
> 
> The main risk of this change is that the individual test timeouts might
> be too short to allow completion in high load scenarios. Thus, there is
> likely to be some short term pain where we have to bump the timeouts for
> certain tests to make them reliable enough. The preceeding few patches
> raised the timeouts for all failures that were immediately apparent
> in GitLab CI.
> 
> Even with the possible short term instability, this should still be a
> net win for debuggability of failed CI pipelines over the long term.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   scripts/mtest2make.py | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py
> index 179dd54871..eb01a05ddb 100644
> --- a/scripts/mtest2make.py
> +++ b/scripts/mtest2make.py
> @@ -27,7 +27,8 @@ def names(self, base):
>   .speed.slow = $(foreach s,$(sort $(filter-out %-thorough, $1)), --suite $s)
>   .speed.thorough = $(foreach s,$(sort $1), --suite $s)
>   
> -.mtestargs = --no-rebuild -t 0
> +TIMEOUT_MULTIPLIER = 1
> +.mtestargs = --no-rebuild -t $(TIMEOUT_MULTIPLIER)
>   ifneq ($(SPEED), quick)
>   .mtestargs += --setup $(SPEED)
>   endif

Basically Ack, but could you please double-check that "make check 
-j$(nproc)" still works if configure has been run with "--enable-debug" ? 
... maybe we need to adjust the multiplier in that case...

  Thomas



  reply	other threads:[~2023-06-01 19:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-01 16:31 [PATCH 0/6] tests: enable meson test timeouts to improve debuggability Daniel P. Berrangé
2023-06-01 16:31 ` [PATCH 1/6] qtest: bump min meson timeout to 60 seconds Daniel P. Berrangé
2023-06-01 18:38   ` Thomas Huth
2023-06-01 16:31 ` [PATCH 2/6] qtest: bump migration-test timeout to 5 minutes Daniel P. Berrangé
2023-06-01 18:39   ` Thomas Huth
2023-06-01 16:31 ` [PATCH 3/6] qtest: bump qom-test timeout to 7 minutes Daniel P. Berrangé
2023-06-01 19:07   ` Thomas Huth
2023-06-01 16:31 ` [PATCH 4/6] qtest: bump aspeed_smc-test timeout to 2 minutes Daniel P. Berrangé
2023-06-01 19:07   ` Thomas Huth
2023-06-05 11:31   ` Thomas Huth
2023-06-05 11:48     ` Daniel P. Berrangé
2023-06-01 16:31 ` [PATCH 5/6] qtest: bump bios-table-test timeout to 6 minutes Daniel P. Berrangé
2023-06-01 19:10   ` Thomas Huth
2023-06-05 11:37   ` Thomas Huth
2023-06-05 11:49     ` Daniel P. Berrangé
2023-06-01 16:31 ` [PATCH 6/6] mtest2make: stop disabling meson test timeouts Daniel P. Berrangé
2023-06-01 19:15   ` Thomas Huth [this message]
2023-06-01 18:44 ` [PATCH 0/6] tests: enable meson test timeouts to improve debuggability Richard Henderson
2023-06-05 14:07 ` Thomas Huth
2023-06-05 14:14   ` Daniel P. Berrangé
2023-06-05 15:36     ` Thomas Huth
2023-06-05 15:45   ` Peter Maydell

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=13784cfe-1666-3350-cf79-7508afb79ede@redhat.com \
    --to=thuth@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=crosa@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.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).