Bug 1340551 - Log tests by manifest from suite_start in xpcshell harness, r=jgraham
authorAndrew Halberstadt <ahalberstadt@mozilla.com>
Wed, 22 Feb 2017 14:34:29 -0500
changeset 394146 3026fb03c97d8c1223770a46f4bc86a731ac3edc
parent 394145 762d295b35b9c5e305861fada0ad8b4f76d2375d
child 394147 174aaab139dc326fed3f584a3d427508c7801c40
push id1468
push userasasaki@mozilla.com
push dateMon, 05 Jun 2017 19:31:07 +0000
treeherdermozilla-release@0641fc6ee9d1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjgraham
bugs1340551
milestone54.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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