xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Ian Jackson <ian.jackson@eu.citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>
Subject: [OSSTEST PATCH v2] sg-report-flight: Add a succcess/failure column header.
Date: Thu, 2 Oct 2014 18:06:36 +0100	[thread overview]
Message-ID: <1412269596-27733-1-git-send-email-ian.jackson@eu.citrix.com> (raw)
In-Reply-To: <1412250966-14374-1-git-send-email-ian.campbell@citrix.com>

From: Ian Campbell <ian.campbell@citrix.com>

There are so many rows and columns that scrolling around trying to find the
column associated with a failure is getting pretty tricky. Finding all failing
columns is even harder.

Add a clue near the top: replicate the worst or most interesting step
result box contents and colour.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>

---
v2: Do it entirely differently.
---
 sg-report-flight |   85 ++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 57 insertions(+), 28 deletions(-)

diff --git a/sg-report-flight b/sg-report-flight
index 4760656..c8d88e8 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -822,7 +822,7 @@ END
         my $st= $step->{status};
         my $logfilename= "$step->{stepno}.$step->{step}.log";
         printf H "<td bgcolor='%s'><a href='%s'>%s</a></td>",
-            html_status2colour($st),
+	    (html_status2_colour_priority($st))[0],
             encode_entities(uri_escape($logfilename)),
             encode_entities($st);
         $issteplog{$logfilename}= 1;
@@ -886,11 +886,11 @@ END
     rename "$htmlfile.new", $htmlfile or die $!;
 }
 
-sub html_status2colour ($) {
+sub html_status2_colour_priority ($) {
     my ($st) = @_;
-    return ($st eq 'pass' ? '#008800' :
-            $st eq 'fail' ? '#ff8888' :
-            '#ffff00');
+    return ($st eq 'pass' ? ('#008800',100) :
+            $st eq 'fail' ? ('#ff8888',200) :
+            ('#ffff00',300));
 }
 
 sub htmlout ($) {
@@ -923,6 +923,56 @@ END
         print H "</th>";
     }
     print H "\n";
+    print H "<tr><th>";
+    print H "Worst/last";
+    print H "</th>";
+
+    my $cell_html = sub {
+	my ($ei) = @_;
+	# => ($h, $priority);
+	my $s= $ei->{Step};
+	my $sum_core= $ei->{SummaryCore};
+	$sum_core= $ei->{Summary} if !defined $sum_core;
+	my $sum_flight= $ei->{SummaryRefFlight};
+	my $bgc;
+	my $priority;
+	if (!defined $sum_core || !length $sum_core) {
+	    $sum_core= $s->{status};
+	    ($bgc,$priority)= html_status2_colour_priority($s->{status});
+	} else {
+	    ($bgc,$priority) =
+		$ei->{Blocker} eq 'regression'
+		? ('#ff8888',400)
+		: ('#ffff00',250);
+	}
+	my $h = " bgcolor=\"$bgc\">";
+	$h .= "<a href=\"".encode_entities($s->{job}).
+	    "/$s->{stepno}.".encode_entities($s->{step}).".log\">";
+	#print H "[$s->{stepno}] ";
+	$h .= encode_entities($sum_core);
+	$h .= "</a>";
+	if (defined $sum_flight) {
+	    $h .= " <a href=\"../$sum_flight/\">".
+		displayflightnum($sum_flight)."</a>";
+	}
+	return ($h,$priority);
+    };
+
+    foreach my $col (@cols) {
+	my @worst=(' bgcolor="#444444">',0);
+	foreach my $rowix (0..$#{ $fi->{GridRows} }) {
+            my $ei= $fi->{GridGrid}{$col}[$rowix];
+	    next unless $ei;
+	    my @this = $cell_html->($ei);
+	    next if $this[1] < $worst[1];
+	    @worst=@this;
+	}
+        print H "<td ",$worst[0],"</td>";
+    }
+    print H "\n";
+    # Create a gutter row after the headers.
+    print H "<tr><td>&nbsp;</td></tr>\n";
+
     foreach my $rowix (0..$#{ $fi->{GridRows} }) {
         next unless $fi->{GridRows}[$rowix];
         my $rowdesc= encode_entities($fi->{GridRows}[$rowix]);
@@ -962,30 +1012,9 @@ END
             my $ei= $fi->{GridGrid}{$col}[$rowix];
             if ($ei) {
                 $deferred_cells->(1);
-                print H "<td";
                 my $s= $ei->{Step};
-                my $sum_core= $ei->{SummaryCore};
-                my $sum_flight= $ei->{SummaryRefFlight};
-                $sum_core= $ei->{Summary} if !defined $sum_core;
-                my $bgc;
-                if (!defined $sum_core || !length $sum_core) {
-                    $sum_core= $s->{status};
-                    $bgc= html_status2colour($s->{status});
-                } else {
-                    $bgc= $ei->{Blocker} eq 'regression'
-                        ? '#ff8888' : '#ffff00';
-                }
-                print H " bgcolor=\"$bgc\">";
-                print H "<a href=\"".encode_entities($col).
-                    "/$s->{stepno}.".encode_entities($s->{step}).".log\">";
-                #print H "[$s->{stepno}] ";
-                print H encode_entities($sum_core);
-                print H "</a>";
-                if (defined $sum_flight) {
-                    print H " <a href=\"../$sum_flight/\">".
-			displayflightnum($sum_flight)."</a>";
-                }
-                print H "</td>";
+		my ($h,$priority) = $cell_html->($ei);
+                print H "<td", $h, "</td>";
             } else {
                 $ndeferred++;
             }
-- 
1.7.10.4

  reply	other threads:[~2014-10-02 17:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-02 11:56 [PATCH OSSTEST] sg-report-flight: Add a succcess/failure column header Ian Campbell
2014-10-02 17:06 ` Ian Jackson [this message]
2014-10-03  8:38   ` [OSSTEST PATCH v2] " Ian Campbell
2014-10-03 11:21     ` Ian Jackson
2014-10-03 12:42       ` Ian Campbell

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=1412269596-27733-1-git-send-email-ian.jackson@eu.citrix.com \
    --to=ian.jackson@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=xen-devel@lists.xenproject.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).