[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.