Bug 1370359 - Stop dumping all tests to errorsummary.log; include manifest in error lines, r?jgraham draft
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Tue, 06 Jun 2017 15:05:17 -0400
changeset 590372 100fd07cc36a5d65ede6e51aa5455d98a129f018
parent 590371 eedb6307a37b33a0ecc271d2d74f2a4556419d74
child 632213 8350348d24244a0a25b01c8ec03736fd0a079f9a
push id62730
push userahalberstadt@mozilla.com
push dateWed, 07 Jun 2017 18:44:05 +0000
reviewersjgraham
bugs1370359
milestone55.0a1
Bug 1370359 - Stop dumping all tests to errorsummary.log; include manifest in error lines, r?jgraham MozReview-Commit-ID: 9m0ArgifgU9
testing/mozbase/mozlog/mozlog/formatters/errorsummary.py
--- a/testing/mozbase/mozlog/mozlog/formatters/errorsummary.py
+++ b/testing/mozbase/mozlog/mozlog/formatters/errorsummary.py
@@ -5,39 +5,42 @@
 import json
 
 from base import BaseFormatter
 
 
 class ErrorSummaryFormatter(BaseFormatter):
 
     def __init__(self):
+        self.groups = None
         self.line_count = 0
 
     def __call__(self, data):
         rv = BaseFormatter.__call__(self, data)
         self.line_count += 1
         return rv
 
     def _output(self, data_type, data):
         data["action"] = data_type
         data["line"] = self.line_count
         return "%s\n" % json.dumps(data)
 
     def _output_test(self, test, subtest, item):
         data = {"test": test,
                 "subtest": subtest,
+                "group": self.groups.get(test, ''),
                 "status": item["status"],
                 "expected": item["expected"],
                 "message": item.get("message"),
                 "stack": item.get("stack")}
         return self._output("test_result", data)
 
     def suite_start(self, item):
-        return self._output("test_groups", {"tests": item["tests"]})
+        self.groups = {v: k for k in item["tests"] for v in item["tests"][k]}
+        return self._output("test_groups", {"groups": item["tests"].keys()})
 
     def test_status(self, item):
         if "expected" not in item:
             return
         return self._output_test(item["test"], item["subtest"], item)
 
     def test_end(self, item):
         if "expected" not in item: