qemu-devel
[Top][All Lists]
Advanced

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

Re: [RFC PATCH] scripts/tap-driver: report "slow" tests (HACK)


From: Wainer dos Santos Moschetta
Subject: Re: [RFC PATCH] scripts/tap-driver: report "slow" tests (HACK)
Date: Wed, 11 Dec 2019 18:03:12 -0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0


On 11/19/19 5:54 AM, Alex Bennée wrote:
Alex Bennée <address@hidden> 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 <address@hidden>
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 <address@hidden>


---
  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





reply via email to

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