|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 04/13] Reporting: In report_run_getinfo, abstract code for returning
This will allow us to change the function's API in one place (plus all
the call sites).
No functional change in this patch.
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
Osstest/Executive.pm | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index 6c16fdd..2389eb2 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -202,8 +202,14 @@ sub report_run_getinfo ($) {
# flight job status
my ($f) = @_;
my $status= $f->{status};
+
+ my $single = sub {
+ my ($summary, $colour) = @_;
+ return { Summary => $summary, Colour => $colour };
+ };
+
if ($status eq 'pass') {
- return { Summary => "($status)", Colour => $green };
+ return $single->("($status)", $green);
} elsif ($status eq 'fail' or $status eq 'broken') {
my $failcolour = $status eq 'fail' ? $red : $yellow;
our $failstepq //= db_prepare(<<END);
@@ -216,19 +222,18 @@ END
$failstepq->execute($f->{flight}, $f->{job});
my $fs= $failstepq->fetchrow_hashref();
if (!defined $fs) {
- return { Summary => "(unknown)", Colour => $yellow };
+ return $single->("(unknown)", $yellow);
} elsif ($fs->{status} eq 'fail') {
- return { Summary => "$fs->{testid}", Colour => $failcolour };
+ return $single->("$fs->{testid}", $failcolour);
} elsif ($fs->{status} eq 'broken') {
- return { Summary => "$fs->{testid} broken", Colour => $yellow };
+ return $single->("$fs->{testid} broken", $yellow);
} else {
- return { Summary => "$fs->{testid} $fs->{status}",
- Colour => $failcolour };
+ return $single->("$fs->{testid} $fs->{status}", $failcolour);
}
} elsif ($status eq 'blocked') {
- return { Summary => "blocked", Colour => $purple },
+ return $single->("blocked", $purple),
} else {
- return { Summary => "($f->{status})", Colour => $yellow };
+ return $single->("($f->{status})", $yellow);
}
}
--
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 |