@ISA = qw(Exporter);
@EXPORT = qw(get_harness_rev grabrepolock_reexec
findtask @all_lock_tables
+ report_run_getinfo report_altcolour
tcpconnect_queuedaemon plan_search
alloc_resources alloc_resources_rollback_begin_work
resource_check_allocated resource_shared_mark_ready
return $dbh;
}
+#---------- history reporting ----------
+
+our $green= '#008800';
+our $red= '#ff8888';
+our $yellow= '#ffff00';
+our $purple= '#ff00ff';
+
+sub report_run_getinfo ($) {
+ # $f is a joined flight/job row, must contain at least
+ # flight job status
+ my ($f) = @_;
+ my $status= $f->{status};
+ if ($status eq 'pass') {
+ return { Summary => "($status)", Colour => $green };
+ } elsif ($status eq 'fail') {
+ our $failstepq //= db_prepare(<<END);
+ SELECT * FROM steps
+ WHERE flight=? AND job=?
+ AND status!='pass'
+ ORDER BY stepno
+ LIMIT 1
+END
+ $failstepq->execute($f->{flight}, $f->{job});
+ my $fs= $failstepq->fetchrow_hashref();
+ if (!defined $fs) {
+ return { Summary => "(unknown)", Colour => $yellow };
+ } elsif ($fs->{status} eq 'fail') {
+ return { Summary => "$fs->{testid}", Colour => $red };
+ } else {
+ return { Summary => "$fs->{testid} $fs->{status}",
+ Colour => $red };
+ }
+ } elsif ($status eq 'blocked') {
+ return { Summary => "blocked", Colour => $purple },
+ } else {
+ return { Summary => "($f->{status})", Colour => $yellow };
+ }
+}
+
+sub report_altcolour ($) {
+ my ($bool) = @_;
+ return "bgcolor=\"#".(qw(d0d0d0 ffffff))[$bool]."\"";
+}
+
#---------- host (and other resource) allocation ----------
our $taskid;
use HTML::Entities;
use Osstest::TestSupport;
+use Osstest::Executive;
our (@blessings,@branches);
our $limit= 500;
push @jobs, $job;
}
-our $failstepq= db_prepare(<<END);
- SELECT * FROM steps
- WHERE flight=? AND job=?
- AND status!='pass'
- ORDER BY stepno
- LIMIT 1
-END
-
-our $green= '#008800';
-our $red= '#ff8888';
-our $yellow= '#ffff00';
-our $purple= '#ff00ff';
-
-sub run_getinfo ($) {
- my ($f) = @_;
- my $status= $f->{status};
- if ($status eq 'pass') {
- return { Summary => "($status)", Colour => $green };
- } elsif ($status eq 'fail') {
- $failstepq->execute($f->{flight}, $f->{job});
- my $fs= $failstepq->fetchrow_hashref();
- if (!defined $fs) {
- return { Summary => "(unknown)", Colour => $yellow };
- } elsif ($fs->{status} eq 'fail') {
- return { Summary => "$fs->{testid}", Colour => $red };
- } else {
- return { Summary => "$fs->{testid} $fs->{status}",
- Colour => $red };
- }
- } elsif ($status eq 'blocked') {
- return { Summary => "blocked", Colour => $purple },
- } else {
- return { Summary => "($f->{status})", Colour => $yellow };
- }
-}
-
our $revisionsq= db_prepare(<<END);
SELECT * FROM runvars
WHERE flight=? AND job=?
AND name LIKE E'\%buildjob'
END
-sub altcolour ($) {
- my ($bool) = @_;
- return "bgcolor=\"#".(qw(d0d0d0 ffffff))[$bool]."\"";
-}
-
sub processjobbranch ($$) {
my ($j,$bra) = @_;
END
while (my $f= $flightsq->fetchrow_hashref()) {
- my $ri= run_getinfo($f);
+ my $ri= report_run_getinfo($f);
$ri->{Hosts} = [ ];
foreach my $hostvar (@hostvarcols) {
my @alt_revs= ('0')x $#rev_grid_cols;
foreach my $r (@test_rows) {
my $colour= "bgcolor=\"$r->{Colour}\"";
- my $altcolour= altcolour($alternate);
+ my $altcolour= report_altcolour($alternate);
print H "<tr $altcolour>";
my $started = $r->{Flight}{started};
print H "<td>";
!defined($v) ? 0 :
$last_revs[$i] eq $v;
$alt_revs[$i] ^= !$same;
- print H "<td ".altcolour($alt_revs[$i]).">";
+ print H "<td ".report_altcolour($alt_revs[$i]).">";
if (defined $v) {
my $vp= $v;
if (defined $lastrev && $v eq $lastrev) {