Bug 1363409: ensure e10s talos have -e10s in their try name draft
authorDustin J. Mitchell <dustin@mozilla.com>
Sat, 13 May 2017 18:45:44 +0000
changeset 577407 b2a93fd327795facb45248b493f408135a69326c
parent 577406 85477a7a8e1a956fd01acbe39ab09a5a5c625e77
child 628492 fbb8e3acd24c52e2a69822ed7d9155f505e5dec1
push id58681
push userdmitchell@mozilla.com
push dateSat, 13 May 2017 19:41:59 +0000
bugs1363409
milestone55.0a1
Bug 1363409: ensure e10s talos have -e10s in their try name This unifies the `try-name` property in test descriptions, and ensures that e10s try jobs have `-e10s` at the end so that try syntax like "-t chromez-e10s" will work. MozReview-Commit-ID: 2AEFfAFF5Jl
taskcluster/ci/test/tests.yml
taskcluster/taskgraph/transforms/job/mozharness_test.py
taskcluster/taskgraph/transforms/tests.py
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -111,17 +111,17 @@ crashtest:
     tier:
         by-test-platform:
             linux64-qr/.*: 1
             default: default
 
 external-media-tests-base:
     description: "External Media Test run"
     suite: external-media-tests
-    unittest-try-name: 'media-tests'
+    try-name: 'media-tests'
     treeherder-symbol: tc-VP(b-m)
     e10s: false
     tier: 2
     max-run-time: 5400
     docker-image: {"in-tree": "desktop1604-test"}
     run-on-projects:
         by-test-platform:
             windows.*: ['mozilla-central', 'try']
@@ -135,17 +135,17 @@ external-media-tests-base:
                 default:
                     - mediatests/taskcluster_posix_config.py
                     - remove_executables.py
 
 external-media-tests-twitch:
     description: "External Media Test Twitch run"
     suite: external-media-tests/twitch
     treeherder-symbol: tc-VP(b-t)
-    unittest-try-name: media-twitch-tests
+    try-name: media-twitch-tests
     e10s: false
     instance-size:
         by-test-platform:
             default: default
     tier: 2
     max-run-time: 5400
     docker-image: {"in-tree": "desktop1604-test"}
     run-on-projects:
@@ -162,17 +162,17 @@ external-media-tests-twitch:
                     - mediatests/taskcluster_posix_config.py
                     - remove_executables.py
         extra-options:
             - "--suite=media-twitch-tests"
 
 external-media-tests-youtube:
     description: "External Media Test Youtube run"
     suite: external-media-tests/youtube
-    unittest-try-name: media-youtube-tests
+    try-name: media-youtube-tests
     treeherder-symbol: tc-VP(b-y)
     e10s: false
     tier: 2
     max-run-time: 5400
     docker-image: {"in-tree": "desktop1604-test"}
     run-on-projects:
         by-test-platform:
             windows.*: ['mozilla-central', 'try']
@@ -1175,17 +1175,17 @@ robocop:
         config:
             - android/androidarm_4_3.py
         extra-options:
             - --test-suite=robocop
 
 talos-chrome:
     description: "Talos chrome"
     suite: talos
-    talos-try-name: chromez
+    try-name: chromez
     treeherder-symbol: tc-T(c)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1202,17 +1202,17 @@ talos-chrome:
         extra-options:
             - --suite=chromez
             - --add-option
             - --webServer,localhost
 
 talos-dromaeojs:
     description: "Talos dromaeojs"
     suite: talos
-    talos-try-name: dromaeojs
+    try-name: dromaeojs
     treeherder-symbol: tc-T(d)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1229,17 +1229,17 @@ talos-dromaeojs:
         extra-options:
             - --suite=dromaeojs
             - --add-option
             - --webServer,localhost
 
 talos-g1:
     description: "Talos g1"
     suite: talos
-    talos-try-name: g1
+    try-name: g1
     treeherder-symbol: tc-T(g1)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try'] 
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1256,17 +1256,17 @@ talos-g1:
         extra-options:
             - --suite=g1
             - --add-option
             - --webServer,localhost
 
 talos-g2:
     description: "Talos g2"
     suite: talos
-    talos-try-name: g2
+    try-name: g2
     treeherder-symbol: tc-T(g2)
     max-run-time: 3600
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try'] 
     e10s: true
     mozharness:
@@ -1283,17 +1283,17 @@ talos-g2:
         extra-options:
             - --suite=g2
             - --add-option
             - --webServer,localhost
 
 talos-g3:
     description: "Talos g3"
     suite: talos
-    talos-try-name: g3
+    try-name: g3
     treeherder-symbol: tc-T(g3)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try'] 
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1310,17 +1310,17 @@ talos-g3:
         extra-options:
             - --suite=g3
             - --add-option
             - --webServer,localhost
 
 talos-g4:
     description: "Talos g4"
     suite: talos
-    talos-try-name: g4
+    try-name: g4
     treeherder-symbol: tc-T(g4)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try'] 
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1337,17 +1337,17 @@ talos-g4:
         extra-options:
             - --suite=g4
             - --add-option
             - --webServer,localhost
 
 talos-other:
     description: "Talos other"
     suite: talos
-    talos-try-name: other
+    try-name: other
     treeherder-symbol: tc-T(o)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try'] 
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1364,17 +1364,17 @@ talos-other:
         extra-options:
             - --suite=other
             - --add-option
             - --webServer,localhost
 
 talos-perf-reftest:
     description: "Talos perf-reftest"
     suite: talos
-    talos-try-name: perf-reftest
+    try-name: perf-reftest
     treeherder-symbol: tc-T(p)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1386,17 +1386,17 @@ talos-perf-reftest:
                     - talos/linux_config.py
                     - remove_executables.py
         extra-options:
             - --suite=perf-reftest
 
 talos-svgr:
     description: "Talos svgr"
     suite: talos
-    talos-try-name: svgr
+    try-name: svgr
     treeherder-symbol: tc-T(s)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
     max-run-time: 3600
     e10s: true
     mozharness:
@@ -1413,17 +1413,17 @@ talos-svgr:
         extra-options:
             - --suite=svgr
             - --add-option
             - --webServer,localhost
 
 talos-tp5o:
     description: "Talos tp5o"
     suite: talos
-    talos-try-name: tp5o
+    try-name: tp5o
     treeherder-symbol: tc-T(tp)
     run-on-projects:
         by-test-platform:
             linux64-stylo/.*: ['mozilla-central', 'try']
             default: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
     max-run-time: 3600
     e10s: true
     mozharness:
--- a/taskcluster/taskgraph/transforms/job/mozharness_test.py
+++ b/taskcluster/taskgraph/transforms/job/mozharness_test.py
@@ -378,35 +378,29 @@ def mozharness_test_on_native_engine(con
 @run_job_using('buildbot-bridge', 'mozharness-test', schema=mozharness_test_run_schema)
 def mozharness_test_buildbot_bridge(config, job, taskdesc):
     test = taskdesc['run']['test']
     mozharness = test['mozharness']
     worker = taskdesc['worker']
 
     branch = config.params['project']
     platform, build_type = test['build-platform'].split('/')
-    test_name = test.get('talos-try-name', test['test-name'])
+    test_name = test.get('try-name', test['test-name'])
     mozharness = test['mozharness']
 
     # mochitest e10s follows the pattern mochitest-e10s-<suffix>
     # in buildbot, except for these special cases
     buildbot_specials = [
         'mochitest-webgl',
         'mochitest-clipboard',
         'mochitest-media',
         'mochitest-gpu',
         'mochitest-e10s',
     ]
-    test_name = test.get(
-                    'talos-try-name',
-                    test.get(
-                        'unittest-try-name',
-                        test['test-name']
-                    )
-                )
+    test_name = test.get('try-name', test['test-name'])
     if test['e10s'] and 'e10s' not in test_name:
         test_name += '-e10s'
 
     if test_name.startswith('mochitest') \
             and test_name.endswith('e10s') \
             and not any(map(
                 lambda name: test_name.startswith(name),
                 buildbot_specials
--- a/taskcluster/taskgraph/transforms/tests.py
+++ b/taskcluster/taskgraph/transforms/tests.py
@@ -71,21 +71,19 @@ test_description_schema = Schema({
     'description': basestring,
 
     # test suite name, or <suite>/<flavor>
     Required('suite'): optionally_keyed_by(
         'test-platform',
         basestring),
 
     # the name by which this test suite is addressed in try syntax; defaults to
-    # the test-name
-    Optional('unittest-try-name'): basestring,
-
-    # the name by which this talos test is addressed in try syntax
-    Optional('talos-try-name'): basestring,
+    # the test-name.  This will translate to the `unittest_try_name` or
+    # `talos_try_name` attribute.
+    Optional('try-name'): basestring,
 
     # additional tags to mark up this type of test
     Optional('tags'): {basestring: object},
 
     # the symbol, or group(symbol), under which this task should appear in
     # treeherder.
     'treeherder-symbol': basestring,
 
@@ -340,16 +338,18 @@ def set_defaults(config, tests):
         # the whole point of QuantumRender is to run with WebRender enabled.
         # If other *-qr test platforms are added they should also be checked for
         # here; currently linux64-qr is the only one.
         if test['test-platform'].startswith('linux64-qr'):
             test['webrender'] = True
         else:
             test.setdefault('webrender', False)
 
+        test.setdefault('try-name', test['test-name'])
+
         test.setdefault('os-groups', [])
         test.setdefault('chunks', 1)
         test.setdefault('run-on-projects', 'built-projects')
         test.setdefault('instance-size', 'default')
         test.setdefault('max-run-time', 3600)
         test.setdefault('reboot', True)
         test['mozharness'].setdefault('extra-options', [])
         yield test
@@ -538,16 +538,17 @@ def split_e10s(config, tests):
         test['e10s'] = False
         test['attributes']['e10s'] = False
 
         if e10s == 'both':
             yield copy.deepcopy(test)
             e10s = True
         if e10s:
             test['test-name'] += '-e10s'
+            test['try-name'] += '-e10s'
             test['e10s'] = True
             test['attributes']['e10s'] = True
             group, symbol = split_symbol(test['treeherder-symbol'])
             if group != '?':
                 group += '-e10s'
             test['treeherder-symbol'] = join_symbol(group, symbol)
             if test['suite'] == 'talos':
                 for i, option in enumerate(test['mozharness']['extra-options']):
@@ -727,21 +728,20 @@ def make_job_description(config, tests):
 
     for test in tests:
         label = '{}-{}-{}'.format(config.kind, test['test-platform'], test['test-name'])
         if test['chunks'] > 1:
             label += '-{}'.format(test['this-chunk'])
 
         build_label = test['build-label']
 
-        if 'talos-try-name' in test:
-            try_name = test['talos-try-name']
+        try_name = test['try-name']
+        if test['suite'] == 'talos':
             attr_try_name = 'talos_try_name'
         else:
-            try_name = test.get('unittest-try-name', test['test-name'])
             attr_try_name = 'unittest_try_name'
 
         attr_build_platform, attr_build_type = test['build-platform'].split('/', 1)
 
         suite = test['suite']
         if '/' in suite:
             suite, flavor = suite.split('/', 1)
         else: