Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

import mozunit
import pytest
from tryselect import push
@pytest.mark.parametrize(
"method,labels,params,routes,expected",
(
pytest.param(
"fuzzy",
["task-foo", "task-bar"],
None,
None,
{
"parameters": {
"optimize_target_tasks": False,
"try_task_config": {
"env": {"TRY_SELECTOR": "fuzzy"},
"tasks": ["task-bar", "task-foo"],
},
},
"version": 2,
},
id="basic",
),
pytest.param(
"fuzzy",
["task-foo"],
{"existing_tasks": {"task-foo": "123", "task-bar": "abc"}},
None,
{
"parameters": {
"existing_tasks": {"task-bar": "abc"},
"optimize_target_tasks": False,
"try_task_config": {
"env": {"TRY_SELECTOR": "fuzzy"},
"tasks": ["task-foo"],
},
},
"version": 2,
},
id="existing_tasks",
),
),
)
def test_generate_try_task_config(method, labels, params, routes, expected):
assert (
push.generate_try_task_config(method, labels, params=params, routes=routes)
== expected
)
def test_get_sys_argv():
input_argv = [
"./mach",
"try",
"fuzzy",
"--full",
"--artifact",
"--push-to-lando",
"--query",
"'android-hw !shippable !nofis",
"--no-push",
]
expected_string = './mach try fuzzy --full --artifact --push-to-lando --query "\'android-hw !shippable !nofis" --no-push'
assert push.get_sys_argv(input_argv) == expected_string
def test_get_sys_argv_2():
input_argv = [
"./mach",
"try",
"fuzzy",
"--query",
"'test-linux1804-64-qr/opt-mochitest-plain-",
"--worker-override=t-linux-large=gecko-t/t-linux-2204-wayland-experimental",
"--no-push",
]
expected_string = './mach try fuzzy --query "\'test-linux1804-64-qr/opt-mochitest-plain-" --worker-override=t-linux-large=gecko-t/t-linux-2204-wayland-experimental --no-push'
assert push.get_sys_argv(input_argv) == expected_string
if __name__ == "__main__":
mozunit.main()