33# file, You can obtain one at http://mozilla.org/MPL/2.0/.
44
55
6+ import multiprocessing
67from concurrent .futures import ProcessPoolExecutor
78
89import pytest
1213from taskgraph .generator import Kind , load_tasks_for_kind , load_tasks_for_kinds
1314from taskgraph .loader .default import loader as default_loader
1415
16+ forkonly = pytest .mark .skipif (
17+ "fork" not in multiprocessing .get_all_start_methods (),
18+ reason = "requires 'fork' multiprocessing support" ,
19+ )
20+
1521
1622class FakePPE (ProcessPoolExecutor ):
1723 loaded_kinds = []
@@ -21,6 +27,7 @@ def submit(self, kind_load_tasks, *args):
2127 return super ().submit (kind_load_tasks , * args )
2228
2329
30+ @forkonly
2431def test_kind_ordering (mocker , maketgg ):
2532 "When task kinds depend on each other, they are loaded in postorder"
2633 mocked_ppe = mocker .patch .object (generator , "ProcessPoolExecutor" , new = FakePPE )
@@ -272,9 +279,9 @@ def _get_loader(self):
272279)
273280def test_default_loader (config , expected_transforms ):
274281 loader = Kind ("" , "" , config , {})._get_loader ()
275- assert loader is default_loader , (
276- "Default Kind loader should be taskgraph.loader.default.loader"
277- )
282+ assert (
283+ loader is default_loader
284+ ), "Default Kind loader should be taskgraph.loader.default.loader"
278285 loader ("" , "" , config , {}, [], False )
279286
280287 assert config ["transforms" ] == expected_transforms
0 commit comments