|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [OSSTEST PATCH 5/5] Emails: Provide X-Osstest-Failures
Specifically:
* $cat now contains SORTLETTER BLOCKSTATUS DESCRIPTION...
* Rewrap the lines setting $cat
* Add $notsucceeds{$cat}[][2] containing one line for the new header
* Generate the new header
* Document the new header
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
---
README.email | 21 +++++++++++++++++++++
sg-report-flight | 26 +++++++++++++++++++-------
2 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/README.email b/README.email
index be79f88..6dc992a 100644
--- a/README.email
+++ b/README.email
@@ -112,6 +112,27 @@ Email information headers
Test report emails sent by osstest have some extra information in the
email headers, where applicable:
+X-Osstest-Failures:
+ osstest:test-armhf-armhf-xl-midway:guest-start:fail:heisenbug
+ osstest:test-amd64-amd64-xl-rtds:xen-boot:fail:blocked
+ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^ ^^^^^^^
+ branch job | | |
+ step testid | analysis
+ |
+ step status
+
+The `analysis' field may be:
+
+ regression "Tests which did not succeed and are blocking"
+ heisenbug "Tests which are failing intermittently (not blocking)"
+ allowable "Regressions which are regarded as allowable"
+ nonblocking "Tests which did not succeed, but are not blocking"
+ fail "Tests which did not succeed" (non-regression-test flights)
+
+When using email filtering, you should filter on the relevant From:
+line as well as X-Osstest-Failures, as there is nothing in
+X-Osstest-Failures identifying the instance.
+
X-Osstest-Versions-This:
osstest=cc8b79ce9586d2b0fbddbd4260e876eab1d408d4
X-Osstest-Versions-That:
diff --git a/sg-report-flight b/sg-report-flight
index 76d6ab7..a5b9e6c 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -587,18 +587,21 @@ END
my $heisenflightp= $failv->{Flight} != $specflight;
print DEBUG "PRINTOUT ",Dumper($failv);
if (!keys %{ $specver{that} }) {
- $cat= "A Tests which did not succeed,\n".
+ $cat= "A fail ".
+"Tests which did not succeed,\n".
"including tests which could not be run:";
} elsif ($failv->{Blocker}) {
- $cat= "A Tests which did not succeed and are blocking,\n".
+ $cat= "A regression ".
+"Tests which did not succeed and are blocking,\n".
"including tests which could not be run:";
} elsif ($failv->{Heisen}) {
- $cat= "K Tests which are failing intermittently (not blocking):";
+ $cat= "K heisenbug ".
+"Tests which are failing intermittently (not blocking):";
} elsif ($failv->{Allow}) {
- $cat= "M ".
+ $cat= "M allowable ".
"Regressions which are regarded as allowable (not blocking):";
} else {
- $cat= "P ".
+ $cat= "P nonblocking ".
"Tests which did not succeed, but are not blocking:";
}
my $heisencat= \$heisenreported_jobstep{"$j->{job} $s->{testid}"};
@@ -614,13 +617,22 @@ END
$text =~ s/ *$//;
while (length($text) > $cw) { last unless $text =~ s/(.* ) /$1/; }
- push @{ $notsucceeds{$cat} }, [ "$s->{status} $xstatus", $text ];
+ $cat =~ m/\w+ (\S+) / or die "$cat ?";
+ my $blockstatus = $1;
+
+ push @{ $notsucceeds{$cat} }, [
+ "$s->{status} $xstatus",
+ $text,
+ "$branch:$j->{job}:$s->{testid}:$s->{status}:$blockstatus",
+ ];
}
+ headerprint "X-Osstest-Failures:\n" if %notsucceeds;
foreach my $cat (sort keys %notsucceeds) {
- $cat =~ m/^\w+ / or die;
+ $cat =~ m/^\w+ \S+ / or die;
bodyprint "\n$'\n";
foreach (sort { $a->[0] cmp $b->[0] } @{ $notsucceeds{$cat} }) {
bodyprint $_->[1], "\n";
+ headerprint " $_->[2]\n";
}
}
--
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 |