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 490110 2d29df4a506ac741eef764325266a3683d859492
parent 490109 7f5fd192923de7850d1897a64c61cac0a7bf5e19
child 547167 5ff001e258d63aee1c47bd378aaf7e476d0c8aba
push id46996
push userahalberstadt@mozilla.com
push dateMon, 27 Feb 2017 17:20:18 +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