[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> </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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |