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

[Xen-devel] [OSSTEST PATCH v2] sg-report-flight: Add a succcess/failure column header.



From: Ian Campbell <ian.campbell@xxxxxxxxxx>

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@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>

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


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.