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