From: Wainer dos Santos Moschetta <wainersm@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>, pbonzini@redhat.com
Cc: qemu-devel@nongnu.org
Subject: Re: [RFC PATCH] scripts/tap-driver: report "slow" tests (HACK)
Date: Wed, 11 Dec 2019 18:03:12 -0200 [thread overview]
Message-ID: <04d659dd-dde0-4139-bfec-9f12e07fee44@redhat.com> (raw)
In-Reply-To: <871ru4gv1p.fsf@linaro.org>
On 11/19/19 5:54 AM, Alex Bennée wrote:
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> Some tests seem to run slower on CI systems but we don't really get
>> visibility of which it is unless we happen to hang the test at the end
>> of a run. This hacky change exposes "slow" tests in the tap output.
>>
>> [AJB: my perl is rusty, I'm sure this could be more idiomatic]
>>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> ping? It would be nice to get this or something similar in 4.2
I tested `make check` with this patch but I could not notice any
different on output. Likely none of the tests ran beyond the time
threshold. At least make check did not crash miserably, so:
Tested-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
>
>> ---
>> scripts/tap-driver.pl | 18 +++++++++++++++---
>> 1 file changed, 15 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/tap-driver.pl b/scripts/tap-driver.pl
>> index 6621a5cd671..0fe748d5de6 100755
>> --- a/scripts/tap-driver.pl
>> +++ b/scripts/tap-driver.pl
>> @@ -29,6 +29,7 @@ use strict;
>> use Getopt::Long ();
>> use TAP::Parser;
>> use Term::ANSIColor qw(:constants);
>> +use Time::HiRes qw( time );
>>
>> my $ME = "tap-driver.pl";
>> my $VERSION = "2018-11-30";
>> @@ -111,7 +112,7 @@ sub decorate_result ($);
>> sub extract_tap_comment ($);
>> sub handle_tap_bailout ($);
>> sub handle_tap_plan ($);
>> -sub handle_tap_result ($);
>> +sub handle_tap_result ($$);
>> sub is_null_string ($);
>> sub main ();
>> sub report ($;$);
>> @@ -220,12 +221,18 @@ sub testsuite_error ($)
>> report "ERROR", "- $_[0]";
>> }
>>
>> -sub handle_tap_result ($)
>> +sub handle_tap_result ($$)
>> {
>> $testno++;
>> my $result_obj = shift;
>> + my $time = shift;
>>
>> my $test_result = stringify_result_obj $result_obj;
>> +
>> + if ($time > 1.0) {
>> + $test_result = $test_result . sprintf(" (%0.1fs)", $time);
>> + }
>> +
>> my $string = $result_obj->number;
>>
>> my $description = $result_obj->description;
>> @@ -312,6 +319,9 @@ sub main ()
>> {
>> my $iterator = TAP::Parser::Iterator::Stream->new(\*STDIN);
>> my $parser = TAP::Parser->new ({iterator => $iterator });
>> + my ($start, $end);
>> +
>> + $start = time();
>>
>> STDOUT->autoflush(1);
>> while (defined (my $cur = $parser->next))
>> @@ -325,7 +335,9 @@ sub main ()
>> }
>> elsif ($cur->is_test)
>> {
>> - handle_tap_result ($cur);
>> + $end = time();
>> + handle_tap_result ($cur, $end - $start);
>> + $start = time();
>> }
>> elsif ($cur->is_bailout)
>> {
>
> --
> Alex Bennée
>
prev parent reply other threads:[~2019-12-11 20:04 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-13 14:21 [RFC PATCH] scripts/tap-driver: report "slow" tests (HACK) Alex Bennée
2019-11-19 7:54 ` Alex Bennée
2019-12-11 20:03 ` Wainer dos Santos Moschetta [this message]
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=04d659dd-dde0-4139-bfec-9f12e07fee44@redhat.com \
--to=wainersm@redhat.com \
--cc=alex.bennee@linaro.org \
--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).