Bug 1340551 - Log tests by manifest from suite_start in xpcshell harness, r?jgraham draft
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Wed, 22 Feb 2017 14:34:29 -0500
changeset 490233 4a4f4940e1cfff3ac35212491677fdce5d735d99
parent 490232 be86a51161c9a891ed26cb0bf19eabf0cd378864
child 547200 da3d204b8f89324d7f7c4523164a9a9511042249
push id47032
push userahalberstadt@mozilla.com
push dateMon, 27 Feb 2017 21:18:22 +0000
reviewersjgraham
bugs1340551
milestone54.0a1
Bug 1340551 - Log tests by manifest from suite_start in xpcshell harness, r?jgraham MozReview-Commit-ID: G7P20w0G0fM
testing/xpcshell/runxpcshelltests.py
--- a/testing/xpcshell/runxpcshelltests.py
+++ b/testing/xpcshell/runxpcshelltests.py
@@ -16,17 +16,17 @@ import random
 import re
 import shutil
 import signal
 import sys
 import tempfile
 import time
 import traceback
 
-from collections import deque, namedtuple
+from collections import defaultdict, deque, namedtuple
 from distutils import dir_util
 from multiprocessing import cpu_count
 from argparse import ArgumentParser
 from subprocess import Popen, PIPE, STDOUT
 from tempfile import mkdtemp, gettempdir
 from threading import (
     Timer,
     Thread,
@@ -1350,17 +1350,21 @@ class XPCShellTests(object):
             self.log.info("Using at most %d threads." % NUM_THREADS)
 
         # keep a set of NUM_THREADS running tests and start running the
         # tests in the queue at most NUM_THREADS at a time
         running_tests = set()
         keep_going = True
         exceptions = []
         tracebacks = []
-        self.log.suite_start([t['id'] for t in self.alltests])
+
+        tests_by_manifest = defaultdict(list)
+        for test in self.alltests:
+            tests_by_manifest[test['manifest']].append(test['id'])
+        self.log.suite_start(tests_by_manifest)
 
         while tests_queue or running_tests:
             # if we're not supposed to continue and all of the running tests
             # are done, stop
             if not keep_going and not running_tests:
                 break
 
             # if there's room to run more tests, start running them