forked from mirrors/gecko-dev
65 lines
1.8 KiB
Python
65 lines
1.8 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
from taskgraph.transforms.base import TransformSequence
|
|
|
|
transforms = TransformSequence()
|
|
|
|
|
|
_ANDROID_TASK_NAME_PREFIX = "android-"
|
|
|
|
|
|
@transforms.add
|
|
def set_component_attribute(config, tasks):
|
|
for task in tasks:
|
|
component_name = task.pop("component", None)
|
|
if not component_name:
|
|
task_name = task["name"]
|
|
if task_name.startswith(_ANDROID_TASK_NAME_PREFIX):
|
|
component_name = task_name[len(_ANDROID_TASK_NAME_PREFIX) :]
|
|
else:
|
|
raise NotImplementedError(
|
|
f"Cannot determine component name from task {task_name}"
|
|
)
|
|
|
|
attributes = task.setdefault("attributes", {})
|
|
attributes["component"] = component_name
|
|
|
|
yield task
|
|
|
|
|
|
@transforms.add
|
|
def define_ui_test_command_line(config, tasks):
|
|
for task in tasks:
|
|
run = task.setdefault("run", {})
|
|
post_gradlew = run.setdefault("post-gradlew", [])
|
|
post_gradlew.append(
|
|
[
|
|
"automation/taskcluster/androidTest/ui-test.sh",
|
|
task["attributes"]["component"],
|
|
"arm",
|
|
"1",
|
|
]
|
|
)
|
|
|
|
yield task
|
|
|
|
|
|
@transforms.add
|
|
def define_treeherder_symbol(config, tasks):
|
|
for task in tasks:
|
|
treeherder = task.setdefault("treeherder")
|
|
treeherder.setdefault("symbol", f"{task['attributes']['component']}(unit)")
|
|
|
|
yield task
|
|
|
|
|
|
@transforms.add
|
|
def define_description(config, tasks):
|
|
for task in tasks:
|
|
task.setdefault(
|
|
"description",
|
|
f"Run unit/ui tests on device for {task['attributes']['component']}",
|
|
)
|
|
yield task
|