Bug 1307043 - Make [Ubuntu] in try syntax include ASan tests, r?dustin
If you want to run tests on Linux32 and Linux64, you use trychooser syntax like
"-u all[Ubuntu]" which taskcluster supports, but if you also built ASan, and
want tests on ASan, there's no supported documented way to get them. That sounds
like an edge-case, except that to get tests to run on WinXP or Win8 you have to
explicitly list them, so to get tests on every platform you build you have to
list all of them, and if ASan is one of them you have to somehow know to dig
around in the .yml and to know that linux64-asan is the thing to dig out.
MozReview-Commit-ID: 2REf0cUWmK8
--- a/taskcluster/taskgraph/test/test_try_option_syntax.py
+++ b/taskcluster/taskgraph/test/test_try_option_syntax.py
@@ -196,20 +196,20 @@ class TestTryOptionSyntax(unittest.TestC
def test_u_platforms(self):
"-u gtest[linux,win32] selects the linux and win32 platforms for gtest"
tos = TryOptionSyntax('try: -u gtest[linux,win32]', graph_with_jobs)
self.assertEqual(sorted(tos.unittests), sorted([
{'test': 'gtest', 'platforms': ['linux', 'win32']},
]))
def test_u_platforms_pretty(self):
- "-u gtest[Ubuntu] selects the linux and linux64 platforms for gtest"
+ "-u gtest[Ubuntu] selects the linux, linux64 and linux64-asan platforms for gtest"
tos = TryOptionSyntax('try: -u gtest[Ubuntu]', graph_with_jobs)
self.assertEqual(sorted(tos.unittests), sorted([
- {'test': 'gtest', 'platforms': ['linux', 'linux64']},
+ {'test': 'gtest', 'platforms': ['linux', 'linux64', 'linux64-asan']},
]))
def test_u_platforms_negated(self):
"-u gtest[-linux] selects all platforms but linux for gtest"
tos = TryOptionSyntax('try: -u gtest[-linux]', graph_with_jobs)
self.assertEqual(sorted(tos.unittests), sorted([
{'test': 'gtest', 'platforms': ['linux64']},
]))
--- a/taskcluster/taskgraph/try_option_syntax.py
+++ b/taskcluster/taskgraph/try_option_syntax.py
@@ -119,17 +119,17 @@ UNITTEST_ALIASES = {
}
# unittest platforms can be specified by substring of the "pretty name", which
# is basically the old Buildbot builder name. This dict has {pretty name,
# [test_platforms]} translations, This includes only the most commonly-used
# substrings. This is intended only for backward-compatibility. New test
# platforms should have their `test_platform` spelled out fully in try syntax.
UNITTEST_PLATFORM_PRETTY_NAMES = {
- 'Ubuntu': ['linux', 'linux64'],
+ 'Ubuntu': ['linux', 'linux64', 'linux64-asan'],
'x64': ['linux64', 'linux64-asan'],
# other commonly-used substrings for platforms not yet supported with
# in-tree taskgraphs:
# '10.10': [..TODO..],
# '10.10.5': [..TODO..],
# '10.6': [..TODO..],
# '10.8': [..TODO..],
# 'Android 2.3 API9': [..TODO..],