1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
import pytest
from mozunit import main
from gecko_taskgraph.transforms.build_schedules import set_build_schedules_optimization
@pytest.mark.parametrize(
"kind,task,expected",
(
pytest.param("build", {"when": "foo"}, None, id="no-op"),
pytest.param(
"build",
{"attributes": {"build_platform": "linux64/opt"}},
{"build": ["linux", "firefox"]},
id="build",
),
pytest.param(
"build-components",
{},
{"build": ["android", "fenix", "focus-android"]},
id="build-components",
),
pytest.param(
"build-bundle",
{"name": "build-bundle-fenix"},
{"build": ["android", "fenix"]},
id="build-bundle-fenix",
),
pytest.param(
"build-apk",
{"name": "fenix"},
{"build": ["android", "fenix"]},
id="build-apk-fenix",
),
pytest.param(
"build-apk",
{"name": "build-apk-focus"},
{"build": ["android", "focus-android"]},
id="build-apk-focus",
),
pytest.param(
"build-apk",
{"name": "build-apk-klar"},
{"build": ["android", "focus-android"]},
id="build-apk-klar",
),
),
)
def test_build_schedules(run_transform, kind, task, expected):
tasks = list(run_transform(set_build_schedules_optimization, [task], kind=kind))
assert len(tasks) == 1
assert tasks[0].get("optimization") == expected
if __name__ == "__main__":
main()
|