qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v7 17/25] cirrus: Building freebsd in a single short


From: Daniel P . Berrangé
Subject: Re: [PATCH v7 17/25] cirrus: Building freebsd in a single short
Date: Thu, 10 Sep 2020 19:00:41 +0100
User-agent: Mutt/1.14.6 (2020-07-11)

On Thu, Sep 10, 2020 at 04:18:10PM +0200, Thomas Huth wrote:
> On 10/09/2020 12.37, Yonggang Luo wrote:
> > This reverts commit 45f7b7b9f38f5c4d1529a37c93dedfc26a231bba
> > ("cirrus.yml: Split FreeBSD job into two parts").
> > 
> > freebsd 1 hour limit not hit anymore
> > 
> > I think we going to a wrong direction, I think there is some tests a stall 
> > the test runner,
> > please look at
> > https://cirrus-ci.com/task/5110577531977728
> > When its running properly, the consumed time are little, but when tests 
> > running too long,
> > look at the cpu usage, the cpu usage are nearly zero. doesn't consuming 
> > time.
> > 
> > And look at
> > https://cirrus-ci.com/task/6119341601062912
> > 
> > If the tests running properly, the time consuming are little
> > We should not hide the error by split them
> 
> Ok, but before we merge this patch, I'd like to understand (and fix if
> necessary) what is/was causing the slowdowns. Otherwise we'll continue
> to see failing CI runs, which is very annoying.

I think we need the test harness to print out the time duration for
each test in order to stand a chance of find the slow one.

A hack like this could be sufficient:

diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py
index 9cbb2e374d..9103ae65b9 100644
--- a/scripts/mtest2make.py
+++ b/scripts/mtest2make.py
@@ -20,7 +20,7 @@ print('''
 SPEED = quick
 
 # $1 = environment, $2 = test command, $3 = test name, $4 = dir
-.test-human-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | 
./scripts/tap-driver.pl --test-name="$3" $(if $(V),,--show-failures-only)
+.test-human-tap = export then=`date +%s` ; $1 $(if $4,(cd $4 && $2),$2) < 
/dev/null | ./scripts/tap-driver.pl --test-name="$3" $(if 
$(V),,--show-failures-only) ; export now=`date +%s` ; delta=`expr $$now - 
$$then` ; $(if $(V),echo "TIME $$delta seconds",true)
 .test-human-exitcode = $1 $(PYTHON) scripts/test-driver.py $(if $4,-C$4) $(if 
$(V),--verbose) -- $2 < /dev/null
 .test-tap-tap = $1 $(if $4,(cd $4 && $2),$2) < /dev/null | sed "s/^[a-z][a-z]* 
[0-9]*/& $3/" || true
 .test-tap-exitcode = printf "%s\\n" 1..1 "`$1 $(if $4,(cd $4 && $2),$2) < 
/dev/null > /dev/null || echo "not "`ok 1 $3"


not sure if there is a nicer way todo this but itworks ok for make check-unit
at least


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]