* [OSSTEST PATCH 01/14] ts-leak-check: Report leaked loop block devices
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 02/14] Test Linux 4.1 Ian Jackson
` (12 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
These show up as leaked processes `[loop1]' etc. too, but that is an
implementation detail, and it is clearer to show them separately.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
ts-leak-check | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/ts-leak-check b/ts-leak-check
index fdade36..8a97971 100755
--- a/ts-leak-check
+++ b/ts-leak-check
@@ -153,10 +153,19 @@ sub inventory_domains () {
}
}
+sub inventory_losetup () {
+ my $loops= target_cmd_output_root($ho, "losetup -a");
+ foreach (split /\n/, $loops) {
+ m,(/dev/loop\d+): , or die "$_ ?";
+ item('loop-device', $1, $_, 1);
+ }
+}
+
sub inventory () {
inventory_domains();
inventory_processes();
inventory_xenstore();
+ inventory_losetup();
inventory_files('/tmp /var/run /var/tmp /var/lib/xen /var/core');
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 02/14] Test Linux 4.1
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 01/14] ts-leak-check: Report leaked loop block devices Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 11:02 ` Ian Campbell
2015-06-30 9:57 ` [OSSTEST PATCH 03/14] ap-common: Abolish linux-3.0 special case Ian Jackson
` (11 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
The kernel.org stable git branch layout is the same for 4.1 as for
3.x, so simply extend the pattern, and add the branch to BRANCHES.
We move the linux-stable.git pattern to the end, and extend it to
linux-[3-9].[0-9]*, to provide a bit more future-proofing. (There is
no particular reason other than shell glob convenience to stop at
linux-9.x.)
DEPLOYMENT NOTE: After this patch is acked, but just before it is
pushed to pretest, run (this version of)
./mg-branch-setup linux-4.1 bisect b953c0d234bc72e8489d3bf51a276c5c4ec85345
to create the working trees on the osstest VM and push the base of
v4.1 to the tested output branch.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Extend glob pattern in ap-common and move to the end.
---
ap-common | 8 ++++----
cr-for-branches | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/ap-common b/ap-common
index de7bb1d..7ddeb9a 100644
--- a/ap-common
+++ b/ap-common
@@ -116,10 +116,6 @@ info_linux_tree () {
: ${TREE_LINUX_THIS:=git://kernel.ubuntu.com/ubuntu/linux.git}
: ${TAG_LINUX_THIS:=$1.y}
;;
- linux-3.*)
- : ${TREE_LINUX_THIS:=${KERNEL_SCM}/stable/linux-stable.git}
- : ${TAG_LINUX_THIS:=$1.y}
- ;;
linux-mingo-tip-master)
: ${TREE_LINUX_THIS:=${KERNEL_SCM}/tip/tip.git}
: ${GITFORCEFLAG_TREE_LINUX_THIS:=-f}
@@ -129,6 +125,10 @@ info_linux_tree () {
: ${TREE_LINUX_THIS:=${KERNEL_SCM}/next/linux-next.git}
: ${GITFORCEFLAG_TREE_LINUX_THIS:=-f}
;;
+ linux-[3-9].[0-9]*)
+ : ${TREE_LINUX_THIS:=${KERNEL_SCM}/stable/linux-stable.git}
+ : ${TAG_LINUX_THIS:=$1.y}
+ ;;
*)
return 1
diff --git a/cr-for-branches b/cr-for-branches
index fd2b9c0..07650c1 100755
--- a/cr-for-branches
+++ b/cr-for-branches
@@ -31,7 +31,7 @@ scriptoptions="$1"; shift
LOGFILE=tmp/cr-for-branches.log
export LOGFILE
-: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-4.5-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing qemu-upstream-4.5-testing linux-3.18 linux-3.16 linux-3.14 linux-3.10 linux-3.4 linux-arm-xen seabios ovmf ${EXTRA_BRANCHES}}
+: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-4.5-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing qemu-upstream-4.5-testing linux-4.1 linux-3.18 linux-3.16 linux-3.14 linux-3.10 linux-3.4 linux-arm-xen seabios ovmf ${EXTRA_BRANCHES}}
export BRANCHES
fetchwlem=$wlem
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [OSSTEST PATCH 02/14] Test Linux 4.1
2015-06-30 9:57 ` [OSSTEST PATCH 02/14] Test Linux 4.1 Ian Jackson
@ 2015-06-30 11:02 ` Ian Campbell
0 siblings, 0 replies; 20+ messages in thread
From: Ian Campbell @ 2015-06-30 11:02 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Tue, 2015-06-30 at 10:57 +0100, Ian Jackson wrote:
> The kernel.org stable git branch layout is the same for 4.1 as for
> 3.x, so simply extend the pattern, and add the branch to BRANCHES.
>
> We move the linux-stable.git pattern to the end, and extend it to
> linux-[3-9].[0-9]*, to provide a bit more future-proofing. (There is
> no particular reason other than shell glob convenience to stop at
> linux-9.x.)
>
> DEPLOYMENT NOTE: After this patch is acked, but just before it is
> pushed to pretest, run (this version of)
> ./mg-branch-setup linux-4.1 bisect b953c0d234bc72e8489d3bf51a276c5c4ec85345
> to create the working trees on the osstest VM and push the base of
> v4.1 to the tested output branch.
>
> Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
> ---
> v2: Extend glob pattern in ap-common and move to the end.
Did you discover a reason why 3.0 is special?
^ permalink raw reply [flat|nested] 20+ messages in thread
* [OSSTEST PATCH 03/14] ap-common: Abolish linux-3.0 special case
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 01/14] ts-leak-check: Report leaked loop block devices Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 02/14] Test Linux 4.1 Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 11:02 ` Ian Campbell
2015-06-30 9:57 ` [OSSTEST PATCH 04/14] Reporting: sg-report-flight: Fix undefined value in $worstrow[] Ian Jackson
` (10 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
This is identical to the effect of the linux-[3-9] etc. glob.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: New patch in this version of the series.
---
ap-common | 4 ----
1 file changed, 4 deletions(-)
diff --git a/ap-common b/ap-common
index 7ddeb9a..dfeab9e 100644
--- a/ap-common
+++ b/ap-common
@@ -101,10 +101,6 @@ info_linux_tree () {
linux-linus)
: ${TREE_LINUX_THIS:=${KERNEL_SCM}/torvalds/linux-2.6.git}
;;
- linux-3.0)
- : ${TREE_LINUX_THIS:=${KERNEL_SCM}/stable/linux-stable.git}
- : ${TAG_LINUX_THIS:=linux-3.0.y}
- ;;
linux-arm-xen)
: ${TREE_LINUX_THIS:=${KERNEL_SCM}/sstabellini/xen.git}
: ${TREE_LINUX_ARM_THIS:=${KERNEL_SCM}/sstabellini/xen.git}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 04/14] Reporting: sg-report-flight: Fix undefined value in $worstrow[]
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (2 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 03/14] ap-common: Abolish linux-3.0 special case Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 11:03 ` Ian Campbell
2015-06-30 9:57 ` [OSSTEST PATCH 05/14] Reporting: sg-report-job-history: Honour --limit Ian Jackson
` (9 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
The fallback entry in the worstrow search, used when a job has not
been run at all, was wrong. Also, fix the doc comment which induced
the mistake, and add a comment about the contents of @worst.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Added the comment about @worst.
---
sg-report-flight | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sg-report-flight b/sg-report-flight
index 6481521..ebb9281 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -965,7 +965,7 @@ END
my $cell_html = sub {
my ($ei, $core_only) = @_;
- # => ($h, $priority);
+ # => ($h, $priority, $ch);
my $s= $ei->{Step};
my $sum_core= $ei->{SummaryCore};
$sum_core= $ei->{Summary} if !defined $sum_core;
@@ -998,7 +998,9 @@ END
my @worstrow1;
my @worstrow2;
foreach my $col (@cols) {
- my @worst=(' bgcolor="#444444">',0);
+ # @worst = ( $cell_html->(stuff), $failing_stepid_html ) =
+ # ($step_cell_html, $priority, $colour_attr, $failing_stepid_html)
+ my @worst=('',0,'bgcolor="#444444"','');
foreach my $rowix (0..$#{ $fi->{GridRows} }) {
my $ei= $fi->{GridGrid}{$col}[$rowix];
next unless $ei;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 05/14] Reporting: sg-report-job-history: Honour --limit
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (3 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 04/14] Reporting: sg-report-flight: Fix undefined value in $worstrow[] Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 06/14] Reporting: sg-report-job-history: support --max-flight Ian Jackson
` (8 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
The global $limit was erroneously shadowed by a local in
processjobbranch. Fix this, and move the erroneously hardcoded value
to the global default.
No functional change if --limit was not specified, which it is not for
any of our runs with the in-tree configs.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
sg-report-job-history | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sg-report-job-history b/sg-report-job-history
index 900d998..51cb5b6 100755
--- a/sg-report-job-history
+++ b/sg-report-job-history
@@ -28,7 +28,7 @@ use Osstest::TestSupport;
use Osstest::Executive;
our (@blessings,@branches);
-our $limit= 500;
+our $limit= 100;
our $htmlout;
open DEBUG, ">/dev/null";
@@ -123,7 +123,6 @@ sub processjobbranch ($$) {
$cond .= " AND branch = ?";
push @params, $bra;
}
- my $limit= 100;
my $offset= $limit-1;
my $fromstuff= <<END;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 06/14] Reporting: sg-report-job-history: support --max-flight
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (4 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 05/14] Reporting: sg-report-job-history: Honour --limit Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 07/14] Reporting: sg-report-host-history: Support --max-flight Ian Jackson
` (7 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
Using report_blessingscond instead of the open-coded map.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
sg-report-job-history | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/sg-report-job-history b/sg-report-job-history
index 51cb5b6..3d02e3f 100755
--- a/sg-report-job-history
+++ b/sg-report-job-history
@@ -30,6 +30,7 @@ use Osstest::Executive;
our (@blessings,@branches);
our $limit= 100;
our $htmlout;
+our $maxflight;
open DEBUG, ">/dev/null";
@@ -40,6 +41,8 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
$$1= $2;
} elsif (m/^--(limit)\=([1-9]\d*)$/) {
$$1= $2;
+ } elsif (m/^--max-flight\=([1-9]\d*)$/) {
+ $maxflight= $1;
} elsif (m/^--html-dir=(.*)$/) {
$htmlout= $1;
} elsif (m/^--branches?=(.*)$/) {
@@ -116,9 +119,9 @@ sub processjobbranch ($$) {
my @rev_grid_cols;
my @test_rows;
- my $blessingscond= '('.join(' OR ', map { "blessing=?" } @blessings).')';
+ my $blessingscond= report_blessingscond(\@blessings, $maxflight);
my $cond = "job = ? AND $blessingscond";
- my (@params) = ($j, @blessings);
+ my (@params) = ($j);
if (defined $bra) {
$cond .= " AND branch = ?";
push @params, $bra;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 07/14] Reporting: sg-report-host-history: Support --max-flight
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (5 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 06/14] Reporting: sg-report-job-history: support --max-flight Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 08/14] Reporting: In report_run_getinfo, abstract code for returning Ian Jackson
` (6 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
We can't use report_blessingscond because we handle blessings
differently in sg-report-host-history (since we want the history of
even adhoc etc. flights).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
sg-report-host-history | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sg-report-host-history b/sg-report-host-history
index f4e73e9..208da55 100755
--- a/sg-report-host-history
+++ b/sg-report-host-history
@@ -31,6 +31,7 @@ our $limit= 200;
our $flightlimit;
our $htmlout = ".";
our @blessings;
+our $maxflight;
open DEBUG, ">/dev/null";
@@ -44,6 +45,8 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
$$1= $2;
} elsif (m/^--flight-limit\=([1-9]\d*)$/) {
$flightlimit= $1;
+ } elsif (m/^--max-flight\=([1-9]\d*)$/) {
+ $maxflight= $1;
} elsif (m/^--blessings?=(.*)$/) {
push @blessings, split ',', $1;
} elsif (m/^--html-dir=(.*)$/) {
@@ -59,6 +62,7 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
@ARGV or die $!;
+our $maxflightcond = defined($maxflight) ? "flight <= $maxflight" : "TRUE";
our $flightcond;
sub computeflightsrange () {
@@ -85,6 +89,7 @@ END
FROM (
SELECT flight
FROM flights
+ WHERE $maxflightcond
ORDER BY flight DESC
LIMIT $flightlimit
) f
@@ -116,6 +121,7 @@ sub mainquery () {
WHERE $namecond
AND ($valcond)
AND $flightcond
+ AND $maxflightcond
ORDER BY flight DESC
LIMIT ($limit * 3 + 100) * ?
END
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 08/14] Reporting: In report_run_getinfo, abstract code for returning
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (6 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 07/14] Reporting: sg-report-host-history: Support --max-flight Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 09/14] Reporting: report_run_getinfo produces ColourAttr Ian Jackson
` (5 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
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@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
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
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 09/14] Reporting: report_run_getinfo produces ColourAttr
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (7 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 08/14] Reporting: In report_run_getinfo, abstract code for returning Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 10/14] Reporting: report_run_getinfo produces Content Ian Jackson
` (4 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
This includes the bgcolour attribute name and the quotes. This will
make it possible for this function to sometimes not set a background
for the whole table cell in the future (which will be part of putting
multiple step results in each cell).
No functional change.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Remove an unneeded space in ColourAttr
---
Osstest/Executive.pm | 5 ++++-
sg-report-host-history | 2 +-
sg-report-job-history | 3 +--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index 2389eb2..a45ec59 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -205,7 +205,10 @@ sub report_run_getinfo ($) {
my $single = sub {
my ($summary, $colour) = @_;
- return { Summary => $summary, Colour => $colour };
+ return {
+ Summary => $summary,
+ ColourAttr => "bgcolor=\"$colour\"",
+ };
};
if ($status eq 'pass') {
diff --git a/sg-report-host-history b/sg-report-host-history
index 208da55..dc150af 100755
--- a/sg-report-host-history
+++ b/sg-report-host-history
@@ -248,7 +248,7 @@ END
print H "<td><a href=\"$url\">$jr->{job}</td>\n";
my $ri = report_run_getinfo({ %$jr, %$ir });
- print H "<td bgcolor=\"$ri->{Colour}\">$ri->{Summary}</td>\n";
+ print H "<td $ri->{ColourAttr}>$ri->{Summary}</td>\n";
print H "</tr>\n\n";
$alternate ^= 1;
diff --git a/sg-report-job-history b/sg-report-job-history
index 3d02e3f..3aec6a0 100755
--- a/sg-report-job-history
+++ b/sg-report-job-history
@@ -226,7 +226,6 @@ END
my @last_revs;
my @alt_revs= ('0')x $#rev_grid_cols;
foreach my $r (@test_rows) {
- my $colour= "bgcolor=\"$r->{Colour}\"";
my $altcolour= report_altcolour($alternate);
print H "<tr $altcolour>";
my $started = $r->{Flight}{started};
@@ -238,7 +237,7 @@ END
print H "<td><a href=\"$url\">$flt</a></td>\n";
print H "<td>".encode_entities($r->{Flight}{branch})."</td>\n";
$url= "$c{ReportHtmlPubBaseUrl}/$flt/".encode_entities($j)."/";
- print H "<td $colour><a href=\"$url\">".
+ print H "<td $r->{ColourAttr}><a href=\"$url\">".
encode_entities($r->{Summary})."</a></td>\n";
my $lastrev;
my $hosts = join ", ", map { $_ // "-" } @{ $r->{Hosts} };
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 10/14] Reporting: report_run_getinfo produces Content
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (8 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 09/14] Reporting: report_run_getinfo produces ColourAttr Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 11/14] Reporting: Break out report_blessingscond Ian Jackson
` (3 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
Previously we produced Summary, and the call sites were confused about
whether it had already been html-escaped. Now we produce something
which is explicitly already html.
No functional change except that some sg-report-host-history output is
escaped as it ought to have been (but this is only relevant if the
database contains strange things which none of ours do).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Executive.pm | 3 ++-
sg-report-host-history | 2 +-
sg-report-job-history | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index a45ec59..eb01fd1 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -32,6 +32,7 @@ use IO::Handle;
use JSON;
use File::Basename;
use IO::Socket::INET;
+use HTML::Entities;
#use Data::Dumper;
use Osstest;
@@ -206,7 +207,7 @@ sub report_run_getinfo ($) {
my $single = sub {
my ($summary, $colour) = @_;
return {
- Summary => $summary,
+ Content => encode_entities($summary),
ColourAttr => "bgcolor=\"$colour\"",
};
};
diff --git a/sg-report-host-history b/sg-report-host-history
index dc150af..f33fafa 100755
--- a/sg-report-host-history
+++ b/sg-report-host-history
@@ -248,7 +248,7 @@ END
print H "<td><a href=\"$url\">$jr->{job}</td>\n";
my $ri = report_run_getinfo({ %$jr, %$ir });
- print H "<td $ri->{ColourAttr}>$ri->{Summary}</td>\n";
+ print H "<td $ri->{ColourAttr}>$ri->{Content}</td>\n";
print H "</tr>\n\n";
$alternate ^= 1;
diff --git a/sg-report-job-history b/sg-report-job-history
index 3aec6a0..31b8d37 100755
--- a/sg-report-job-history
+++ b/sg-report-job-history
@@ -238,7 +238,7 @@ END
print H "<td>".encode_entities($r->{Flight}{branch})."</td>\n";
$url= "$c{ReportHtmlPubBaseUrl}/$flt/".encode_entities($j)."/";
print H "<td $r->{ColourAttr}><a href=\"$url\">".
- encode_entities($r->{Summary})."</a></td>\n";
+ $r->{Content}."</a></td>\n";
my $lastrev;
my $hosts = join ", ", map { $_ // "-" } @{ $r->{Hosts} };
print H "<td>".encode_entities($hosts)."</td>\n";
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 11/14] Reporting: Break out report_blessingscond
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (9 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 10/14] Reporting: report_run_getinfo produces Content Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 12/14] Reporting: In history tables, show multiple failure steps Ian Jackson
` (2 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
The returned SQL is a self-contained expression, and does not require
additional bind parameters. To spot SQL quoting problems, we die if
a blessing is not reasonable.
The use sites of the $blessingcond in sg-report-flight are adjusted to
no longer pass @blessings to execute.
No overall functional change with reasonable blessings.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Executive.pm | 13 +++++++++++++
sg-report-flight | 10 +++-------
2 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index eb01fd1..b757618 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -47,6 +47,7 @@ BEGIN {
@EXPORT = qw(get_harness_rev grabrepolock_reexec
findtask @all_lock_tables
report_run_getinfo report_altcolour
+ report_blessingscond
tcpconnect_queuedaemon plan_search
alloc_resources alloc_resources_rollback_begin_work
resource_check_allocated resource_shared_mark_ready
@@ -246,6 +247,18 @@ sub report_altcolour ($) {
return "bgcolor=\"#".(qw(d0d0d0 ffffff))[$bool]."\"";
}
+sub report_blessingscond ($$) {
+ my ($blessings, $maxflight) = @_;
+ my $blessingscond= '('.join(' OR ', map {
+ die if m/[^-_.0-9a-z]/;
+ "blessing='$_'"
+ } @$blessings).')';
+ if (defined $maxflight) {
+ $blessingscond= "( flight <= $maxflight AND $blessingscond )";
+ }
+ return $blessingscond;
+}
+
#---------- host (and other resource) allocation ----------
our $taskid;
diff --git a/sg-report-flight b/sg-report-flight
index ebb9281..3c360e5 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -127,11 +127,7 @@ our $cw= 79;
our $tl= 20;
our $htmlleaf= "info.html";
-our $blessingscond= '('.join(' OR ', map { "blessing=?" } @blessings).')';
-
-if (defined $maxflight) {
- $blessingscond= "( flight <= $maxflight AND $blessingscond )";
-}
+our $blessingscond= report_blessingscond(\@blessings, $maxflight);
sub displayflightnum ($) {
my ($flight) = @_;
@@ -202,7 +198,7 @@ END
ORDER BY blessing ASC, flight DESC
END
$flightsq= db_prepare($flightsq);
- $flightsq->execute(@flightsq_params, @blessings);
+ $flightsq->execute(@flightsq_params);
my $buildflightsq= db_prepare(<<END);
SELECT val FROM runvars
@@ -691,7 +687,7 @@ END
next;
}
- $anypassq->execute($j->{job}, $s->{testid}, @blessings);
+ $anypassq->execute($j->{job}, $s->{testid});
if (!$anypassq->fetchrow_hashref()) {
print MRO "never-passed $j->{job} $s->{testid} $st\n";
print DEBUG " never passed\n";
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 12/14] Reporting: In history tables, show multiple failure steps
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (10 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 11/14] Reporting: Break out report_blessingscond Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 13/14] Reporting: Provide report_find_push_age_info Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email Ian Jackson
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
In report_run_getinfo, used by sg-report-job-history and
sg-report-host-history, make provision for reporting multiple failed
steps.
The failed steps are put side by side (in a single table cell). The
cell background is set by the job status, but the individual steps may
vary their colour, as seen in this example:
http://xenbits.xen.org/people/iwj/2015/linux-next.html
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Remove unnecessary space in ColourAttr
---
Osstest/Executive.pm | 32 ++++++++++++++++++++++----------
1 file changed, 22 insertions(+), 10 deletions(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index b757618..87f2e98 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -222,19 +222,31 @@ sub report_run_getinfo ($) {
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 $single->("(unknown)", $yellow);
- } elsif ($fs->{status} eq 'fail') {
- return $single->("$fs->{testid}", $failcolour);
- } elsif ($fs->{status} eq 'broken') {
- return $single->("$fs->{testid} broken", $yellow);
- } else {
- return $single->("$fs->{testid} $fs->{status}", $failcolour);
+ my @content;
+ while (my $fs = $failstepq->fetchrow_hashref()) {
+ my $summary = $fs->{testid};
+ my $colour;
+ if ($fs->{status} eq 'fail') {
+ $colour = $red;
+ } elsif ($fs->{status} eq 'broken') {
+ $summary .= " broken";
+ $colour = $yellow;
+ } else {
+ $summary .= " $fs->{status}";
+ $colour = $failcolour;
+ }
+ push @content, "<span style=\"background-color: $colour\">".
+ encode_entities($summary)."</span>";
}
+ if (!@content) {
+ return $single->("(unknown)", $yellow);
+ }
+ return {
+ Content => (join " | ", @content),
+ ColourAttr => "bgcolor=\"$failcolour\"",
+ };
} elsif ($status eq 'blocked') {
return $single->("blocked", $purple),
} else {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 13/14] Reporting: Provide report_find_push_age_info
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (11 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 12/14] Reporting: In history tables, show multiple failure steps Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 9:57 ` [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email Ian Jackson
13 siblings, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
This utility function provides information about how far behind the
push gate is right now.
I have tested it with this rune in the Cambridge instance:
perl -we 'use Osstest::Executive; use Osstest; use Data::Dumper; open DEBUG, ">&STDERR" or die $!; csreadconfig(); print Dumper report_find_push_age_info([qw(real)], undef, [qw(osstest linux-next)], "osstest", "280a18b2b2612174e473a1c1a137ddd47c49aab9", "cc8b79ce9586d2b0fbddbd4260e876eab1d408d4")'
Currently it produces this output:
$VAR1 = {
'CountTip' => '4',
'FirstTip' => {
'flight' => 37635,
'intended' => 'real',
'blessing' => 'real',
'started' => 1435460756,
'branch' => 'osstest'
},
'LastTip' => {
'flight' => 37638,
'intended' => 'real',
'blessing' => 'real',
'started' => 1435538150,
'branch' => 'osstest'
},
'Basis' => {
'flight' => 37629,
'intended' => 'real',
'blessing' => 'real',
'started' => 1435181770,
'branch' => 'osstest'
},
'FirstAfterBasis' => {
'flight' => 37630,
'intended' => 'real',
'blessing' => 'real',
'started' => 1435314944,
'branch' => 'osstest'
},
'CountAfterBasis' => '9'
};
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
Osstest/Executive.pm | 142 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 141 insertions(+), 1 deletion(-)
diff --git a/Osstest/Executive.pm b/Osstest/Executive.pm
index 87f2e98..4c470bd 100644
--- a/Osstest/Executive.pm
+++ b/Osstest/Executive.pm
@@ -47,7 +47,7 @@ BEGIN {
@EXPORT = qw(get_harness_rev grabrepolock_reexec
findtask @all_lock_tables
report_run_getinfo report_altcolour
- report_blessingscond
+ report_blessingscond report_find_push_age_info
tcpconnect_queuedaemon plan_search
alloc_resources alloc_resources_rollback_begin_work
resource_check_allocated resource_shared_mark_ready
@@ -271,6 +271,146 @@ sub report_blessingscond ($$) {
return $blessingscond;
}
+sub report__find_test ($$$$$$$$) {
+ my ($blessings, $maxflight, $branches, $tree,
+ $revision, $selection, $extracond, $sortlimit) = @_;
+ # Reports information about a flight which tried to test $revision
+ # of $tree. ($revision may be undef);
+
+ my @params;
+
+ my $querytext = <<END;
+ SELECT $selection
+ FROM flights f
+ WHERE
+END
+
+ if (defined $revision) {
+ if ($tree eq 'osstest') {
+ $querytext .= <<END;
+ EXISTS (
+ SELECT 1
+ FROM flights_harness_touched t
+ WHERE t.harness=?
+ AND t.flight=f.flight
+ )
+END
+ push @params, $revision;
+ } else {
+ $querytext .= <<END;
+ EXISTS (
+ SELECT 1
+ FROM runvars
+ WHERE name=?
+ AND val=?
+ AND r.flight=f.flight
+ )
+END
+ push @params, "revision_$tree", $revision;
+ }
+ } else {
+ $querytext .= <<END;
+ TRUE
+END
+ }
+
+ my $blessingscond = report_blessingscond($blessings,$maxflight);
+ $querytext .= <<END;
+ AND $blessingscond
+END
+
+ my $branchescond = join ' OR ', map { "branch=?" } @$branches;
+ $querytext .= <<END;
+ AND ($branchescond)
+END
+ push @params, @$branches;
+
+ $querytext .= $extracond;
+ $querytext .= $sortlimit;
+
+ my $query = db_prepare($querytext);
+ $query->execute(@params);
+
+ my $row = $query->fetchrow_hashref();
+ $query->finish();
+ return $row;
+}
+
+sub report_find_push_age_info ($$$$$$) {
+ my ($blessings, $maxflight, $branches, $tree,
+ $basis_revision, $tip_revision) = @_;
+ # Reports information about tests of $tree.
+ # (Subject to @$blessings, $maxflight, @$branches)
+ # Returns {
+ # Basis => row for last test of basis
+ # FirstAfterBasis => row for first test after basis
+ # FirstTip => row for first test of tip (after Basis)
+ # LastTip => row for last test of tip (after Basis)
+ # CountAfterBasis => count of runs strictly after Basis
+ # CountTip => count of runs on Tip
+ # }
+ # where
+ # row for ... is from fetchrow_hashref of SELECT * FROM flights
+ # (or undef if no such thing exists)
+ # Count is a scalar integer.
+ #
+ # Only flights which specified the exact revision specified
+ # are considered (not ones which specified a tag, for example).
+
+ my $findtest = sub {
+ my ($revision,$selection,$extracond,$sortlimit) = @_;
+ report__find_test($blessings,$maxflight,$branches,$tree,
+ $revision,$selection,$extracond,$sortlimit);
+ };
+
+ my $findcount = sub {
+ my ($revision,$extracond,$sortlimit) = @_;
+ my $row = $findtest->($revision, 'COUNT(*) AS count',
+ $extracond, $sortlimit);
+ return $row->{count} // die "$revision $extracond $sortlimit ?";
+ };
+
+ my $out = { };
+ $out->{Basis} = $findtest->($basis_revision, '*', '', <<END);
+ ORDER BY flight DESC
+ LIMIT 1
+END
+
+ my $afterbasis = $out->{Basis} ? <<END : '';
+ AND flight > $out->{Basis}{flight}
+END
+
+ $out->{FirstAfterBasis} = $findtest->(undef, '*', $afterbasis, <<END)
+ ORDER BY flight ASC
+ LIMIT 1
+END
+ if $afterbasis;
+
+ $out->{FirstTip} = $findtest->($tip_revision, '*', $afterbasis, <<END);
+ ORDER BY flight ASC
+ LIMIT 1
+END
+
+ my $likelytip = $out->{FirstTip} ? <<END : '';
+ AND flight >= $out->{FirstTip}{flight}
+END
+
+ $out->{LastTip} = $findtest->($tip_revision, '*', $likelytip, <<END)
+ ORDER BY flight DESC
+ LIMIT 1
+END
+ if $out->{FirstTip};
+
+ $out->{CountAfterBasis} = $findcount->(undef, $afterbasis, '')
+ if $afterbasis;
+
+ $out->{CountTip} =
+ $out->{FirstTip} ? $findcount->($tip_revision, $likelytip, '')
+ : 0;
+
+ return $out;
+}
+
#---------- host (and other resource) allocation ----------
our $taskid;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email
2015-06-30 9:57 [OSSTEST PATCH v2 00/14] Linux 4.1, and reporting improvements Ian Jackson
` (12 preceding siblings ...)
2015-06-30 9:57 ` [OSSTEST PATCH 13/14] Reporting: Provide report_find_push_age_info Ian Jackson
@ 2015-06-30 9:57 ` Ian Jackson
2015-06-30 11:03 ` Ian Campbell
2015-06-30 11:22 ` Ian Jackson
13 siblings, 2 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 9:57 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Jackson, Ian Campbell
This adds something like this (would have appeared in 37638):
Last test of basis 37629 2015-06-24 21:36:10 Z 4 days
Failing since 37630 2015-06-26 10:35:44 Z 3 days 9 attempts
Testing same since 37635 2015-06-28 03:05:56 Z 1 days 4 attempts
or this (would have appeared in 37629):
Last test of basis 37617 2015-06-20 04:06:01 Z 9 days
Testing same since 37628 2015-06-24 13:35:23 Z 5 days 2 attempts
(Both examples from the Cambridge instance.)
This is added just after the versions are reported.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Swap order of `Failing since' and `Testing same since' output lines
---
sg-report-flight | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/sg-report-flight b/sg-report-flight
index 3c360e5..22a82ff 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -499,6 +499,45 @@ sub printversions ($) {
}
}
+sub print_pushgate_summary () {
+ my @thistree = sort keys %{ $specver{'this'} };
+ my @thattree = sort keys %{ $specver{'that'} };
+ if (!(@thistree==1 && @thattree==1 && $thistree[0] eq $thattree[0])) {
+ print DEBUG "NO PUSHGATE SUMMARY (@thistree) != (@thattree)";
+ }
+ my $tree = $thistree[0];
+
+ my $info = report_find_push_age_info(
+ [ $blessings[0] ], $maxflight, [ $branch ],
+ $tree, $specver{that}{$tree}, $specver{this}{$tree}
+ );
+ print "\n";
+ my $now = time;
+ my $pinfo = sub {
+ my ($what, $flightkey, $countkey) = @_;
+ my $f = $info->{$flightkey};
+ my $count = $info->{$countkey};
+ printf "%-20s", $what;
+ if ($f) {
+ printf(" %6d %s %4d days",
+ $f->{flight},
+ show_abs_time($f->{started}),
+ floor(($now - $f->{started}) / 86400));
+ } else {
+ printf(" %34s ","(not found)");
+ }
+ if (defined $count) {
+ printf(" %4d attempts", $count);
+ }
+ print "\n";
+ };
+ $pinfo->('Last test of basis', "Basis",'');
+ $pinfo->('Failing since', "FirstAfterBasis","CountAfterBasis")
+ unless ($info->{FirstAfterBasis}{flight} // 'NONE')
+ eq ($info->{FirstTip}{flight} // 'NONE');
+ $pinfo->('Testing same since', "FirstTip","CountTip");
+}
+
sub printout {
my ($r, @failures) = @_;
print <<END or die $!;
@@ -579,6 +618,8 @@ END
printversions('that');
}
+ print_pushgate_summary();
+
if (@includefiles) {
print "\n","-"x60, "\n" or die $!;
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re: [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email
2015-06-30 9:57 ` [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email Ian Jackson
@ 2015-06-30 11:03 ` Ian Campbell
2015-06-30 11:22 ` Ian Jackson
1 sibling, 0 replies; 20+ messages in thread
From: Ian Campbell @ 2015-06-30 11:03 UTC (permalink / raw)
To: Ian Jackson; +Cc: xen-devel
On Tue, 2015-06-30 at 10:57 +0100, Ian Jackson wrote:
> This adds something like this (would have appeared in 37638):
>
> Last test of basis 37629 2015-06-24 21:36:10 Z 4 days
> Failing since 37630 2015-06-26 10:35:44 Z 3 days 9 attempts
> Testing same since 37635 2015-06-28 03:05:56 Z 1 days 4 attempts
>
> or this (would have appeared in 37629):
>
> Last test of basis 37617 2015-06-20 04:06:01 Z 9 days
> Testing same since 37628 2015-06-24 13:35:23 Z 5 days 2 attempts
>
> (Both examples from the Cambridge instance.)
>
> This is added just after the versions are reported.
>
> Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email
2015-06-30 9:57 ` [OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email Ian Jackson
2015-06-30 11:03 ` Ian Campbell
@ 2015-06-30 11:22 ` Ian Jackson
1 sibling, 0 replies; 20+ messages in thread
From: Ian Jackson @ 2015-06-30 11:22 UTC (permalink / raw)
To: xen-devel, Ian Campbell
Ian Jackson writes ("[OSSTEST PATCH 14/14] Reporting: sg-report-flight: Put overall pushgate stats in email"):
> This adds something like this (would have appeared in 37638):
...
BTW I found a bug in this:
> +sub print_pushgate_summary () {
> + my @thistree = sort keys %{ $specver{'this'} };
> + my @thattree = sort keys %{ $specver{'that'} };
> + if (!(@thistree==1 && @thattree==1 && $thistree[0] eq $thattree[0])) {
> + print DEBUG "NO PUSHGATE SUMMARY (@thistree) != (@thattree)";
> + }
Missing `return' after the print. I will fix it.
Ian.
^ permalink raw reply [flat|nested] 20+ messages in thread