Closed Bug 1687624 Opened 4 years ago Closed 4 years ago

Perma taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_always_target_tasks TEST-UNEXPECTED-FAIL

Categories

(Firefox Build System :: Task Configuration, defect, P5)

defect

Tracking

(firefox-esr78 unaffected, firefox84 unaffected, firefox85 unaffected, firefox86 fixed)

RESOLVED FIXED
86 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox84 --- unaffected
firefox85 --- unaffected
firefox86 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: glandium)

References

(Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(1 file)

Filed by: smolnar [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer?job_id=327207297&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/chVZabhSTYuPeySvtK5SpA/runs/0/artifacts/public/logs/live_backing.log


" /builds/worker/checkouts/gecko/taskcluster/taskgraph/test/test_generator.py
[task 2021-01-19T23:51:57.915Z]  0:06.62 ============================= test session starts ==============================
[task 2021-01-19T23:51:57.915Z]  0:06.62 platform linux -- Python 3.6.9, pytest-3.6.2, py-1.5.4, pluggy-0.6.0 -- /builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/python-test/bin/python
[task 2021-01-19T23:51:57.916Z]  0:06.62 rootdir: /builds/worker/checkouts/gecko, inifile: /builds/worker/checkouts/gecko/config/mozunit/mozunit/pytest.ini
[task 2021-01-19T23:51:57.916Z]  0:06.62 collecting ... collected 8 items
[task 2021-01-19T23:51:57.917Z]  0:06.62 
[task 2021-01-19T23:51:57.917Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_always_target_tasks TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.918Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_full_task_graph TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.919Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_full_task_set TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.919Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_kind_ordering TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.919Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_optimized_task_graph TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.920Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_target_task_graph TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.920Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_target_task_set TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.920Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py::test_load_tasks_for_kind TEST-UNEXPECTED-FAIL
[task 2021-01-19T23:51:57.920Z]  0:06.62 
[task 2021-01-19T23:51:57.920Z]  0:06.62 =================================== FAILURES ===================================
[task 2021-01-19T23:51:57.920Z]  0:06.62 ____________________ TestGenerator.test_always_target_tasks ____________________
[task 2021-01-19T23:51:57.920Z]  0:06.62 
[task 2021-01-19T23:51:57.920Z]  0:06.62 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_always_target_tasks>
[task 2021-01-19T23:51:57.920Z]  0:06.62 
[task 2021-01-19T23:51:57.920Z]  0:06.62     def test_always_target_tasks(self):
[task 2021-01-19T23:51:57.920Z]  0:06.62         "The target_task_graph includes tasks with 'always_target'"
[task 2021-01-19T23:51:57.920Z]  0:06.62         tgg_args = {
[task 2021-01-19T23:51:57.920Z]  0:06.62             "target_tasks": ["_fake-t-0", "_fake-t-1", "_ignore-t-0", "_ignore-t-1"],
[task 2021-01-19T23:51:57.920Z]  0:06.62             "kinds": [
[task 2021-01-19T23:51:57.920Z]  0:06.62                 ("_fake", {"job-defaults": {"optimization": {"odd": None}}}),
[task 2021-01-19T23:51:57.920Z]  0:06.62                 (
[task 2021-01-19T23:51:57.920Z]  0:06.62                     "_ignore",
[task 2021-01-19T23:51:57.920Z]  0:06.62                     {
[task 2021-01-19T23:51:57.921Z]  0:06.62                         "job-defaults": {
[task 2021-01-19T23:51:57.921Z]  0:06.62                             "attributes": {"always_target": True},
[task 2021-01-19T23:51:57.921Z]  0:06.62                             "optimization": {"even": None},
[task 2021-01-19T23:51:57.921Z]  0:06.62                         }
[task 2021-01-19T23:51:57.921Z]  0:06.62                     },
[task 2021-01-19T23:51:57.921Z]  0:06.62                 ),
[task 2021-01-19T23:51:57.921Z]  0:06.62             ],
[task 2021-01-19T23:51:57.921Z]  0:06.62             "params": {"optimize_target_tasks": False},
[task 2021-01-19T23:51:57.921Z]  0:06.62         }
[task 2021-01-19T23:51:57.921Z]  0:06.62         self.tgg = self.maketgg(**tgg_args)
[task 2021-01-19T23:51:57.921Z]  0:06.62         self.assertEqual(
[task 2021-01-19T23:51:57.921Z]  0:06.62 >           sorted(self.tgg.target_task_set.tasks.keys()),
[task 2021-01-19T23:51:57.921Z]  0:06.62             sorted(["_fake-t-0", "_fake-t-1", "_ignore-t-0", "_ignore-t-1"]),
[task 2021-01-19T23:51:57.921Z]  0:06.62         )
[task 2021-01-19T23:51:57.921Z]  0:06.62 
[task 2021-01-19T23:51:57.921Z]  0:06.62 taskcluster/taskgraph/test/test_generator.py:216:
[task 2021-01-19T23:51:57.922Z]  0:06.62 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.922Z]  0:06.62 taskcluster/taskgraph/generator.py:183: in target_task_set
[task 2021-01-19T23:51:57.922Z]  0:06.62     return self._run_until("target_task_set")
[task 2021-01-19T23:51:57.922Z]  0:06.62 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:57.922Z]  0:06.62     k, v = next(self._run)
[task 2021-01-19T23:51:57.922Z]  0:06.62 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.922Z]  0:06.62 
[task 2021-01-19T23:51:57.923Z]  0:06.62 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c572edbe0>
[task 2021-01-19T23:51:57.923Z]  0:06.62 
[task 2021-01-19T23:51:57.923Z]  0:06.62     def _run(self):
[task 2021-01-19T23:51:57.923Z]  0:06.62         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:57.923Z]  0:06.62         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:57.924Z]  0:06.62 
[task 2021-01-19T23:51:57.924Z]  0:06.62         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:57.924Z]  0:06.62 
[task 2021-01-19T23:51:57.924Z]  0:06.62         graph_config.register()
[task 2021-01-19T23:51:57.925Z]  0:06.62 
[task 2021-01-19T23:51:57.925Z]  0:06.62         if callable(self._parameters):
[task 2021-01-19T23:51:57.925Z]  0:06.62             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:57.925Z]  0:06.62         else:
[task 2021-01-19T23:51:57.925Z]  0:06.62             parameters = self._parameters
[task 2021-01-19T23:51:57.925Z]  0:06.62         self.verify_parameters(parameters)
[task 2021-01-19T23:51:57.925Z]  0:06.62 
[task 2021-01-19T23:51:57.925Z]  0:06.62         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:57.926Z]  0:06.62         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:57.926Z]  0:06.62         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:57.926Z]  0:06.62             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:57.926Z]  0:06.62         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:57.926Z]  0:06.62 
[task 2021-01-19T23:51:57.926Z]  0:06.62         yield ("parameters", parameters)
[task 2021-01-19T23:51:57.926Z]  0:06.62 
[task 2021-01-19T23:51:57.927Z]  0:06.62         logger.info("Loading kinds")
[task 2021-01-19T23:51:57.927Z]  0:06.62         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:57.927Z]  0:06.62         # in post-order
[task 2021-01-19T23:51:57.927Z]  0:06.62         if parameters.get("target-kind"):
[task 2021-01-19T23:51:57.927Z]  0:06.62             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:57.927Z]  0:06.62             logger.info(
[task 2021-01-19T23:51:57.927Z]  0:06.62                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:57.928Z]  0:06.62                     target_kind=target_kind
[task 2021-01-19T23:51:57.928Z]  0:06.62                 )
[task 2021-01-19T23:51:57.928Z]  0:06.62             )
[task 2021-01-19T23:51:57.928Z]  0:06.62         kinds = {
[task 2021-01-19T23:51:57.928Z]  0:06.62             kind.name: kind
[task 2021-01-19T23:51:57.928Z]  0:06.62 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:57.928Z]  0:06.62         }
[task 2021-01-19T23:51:57.929Z]  0:06.62 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:57.929Z]  0:06.62 
[task 2021-01-19T23:51:57.929Z]  0:06.62 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:57.930Z]  0:06.63 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:57.930Z]  0:06.63 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:57.931Z]  0:06.63 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:57.931Z]  0:06.63 ______________________ TestGenerator.test_full_task_graph ______________________
[task 2021-01-19T23:51:57.931Z]  0:06.63 
[task 2021-01-19T23:51:57.932Z]  0:06.63 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_full_task_graph>
[task 2021-01-19T23:51:57.932Z]  0:06.63 
[task 2021-01-19T23:51:57.933Z]  0:06.63     def test_full_task_graph(self):
[task 2021-01-19T23:51:57.933Z]  0:06.63         "The full_task_graph property has all tasks, and links"
[task 2021-01-19T23:51:57.933Z]  0:06.63         self.tgg = self.maketgg()
[task 2021-01-19T23:51:57.934Z]  0:06.63         self.assertEqual(
[task 2021-01-19T23:51:57.934Z]  0:06.63 >           self.tgg.full_task_graph.graph,
[task 2021-01-19T23:51:57.934Z]  0:06.63             graph.Graph(
[task 2021-01-19T23:51:57.935Z]  0:06.64                 {"_fake-t-0", "_fake-t-1", "_fake-t-2"},
[task 2021-01-19T23:51:57.935Z]  0:06.64                 {
[task 2021-01-19T23:51:57.935Z]  0:06.64                     ("_fake-t-1", "_fake-t-0", "prev"),
[task 2021-01-19T23:51:57.936Z]  0:06.64                     ("_fake-t-2", "_fake-t-1", "prev"),
[task 2021-01-19T23:51:57.936Z]  0:06.64                 },
[task 2021-01-19T23:51:57.936Z]  0:06.64             ),
[task 2021-01-19T23:51:57.937Z]  0:06.64         )
[task 2021-01-19T23:51:57.937Z]  0:06.64 
[task 2021-01-19T23:51:57.938Z]  0:06.64 taskcluster/taskgraph/test/test_generator.py:158:
[task 2021-01-19T23:51:57.939Z]  0:06.64 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.939Z]  0:06.64 taskcluster/taskgraph/generator.py:174: in full_task_graph
[task 2021-01-19T23:51:57.939Z]  0:06.64     return self._run_until("full_task_graph")
[task 2021-01-19T23:51:57.940Z]  0:06.64 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:57.940Z]  0:06.64     k, v = next(self._run)
[task 2021-01-19T23:51:57.941Z]  0:06.64 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.941Z]  0:06.64 
[task 2021-01-19T23:51:57.941Z]  0:06.64 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c5720e358>
[task 2021-01-19T23:51:57.942Z]  0:06.64 
[task 2021-01-19T23:51:57.942Z]  0:06.64     def _run(self):
[task 2021-01-19T23:51:57.943Z]  0:06.64         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:57.943Z]  0:06.64         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:57.943Z]  0:06.64 
[task 2021-01-19T23:51:57.943Z]  0:06.64         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:57.944Z]  0:06.64 
[task 2021-01-19T23:51:57.944Z]  0:06.64         graph_config.register()
[task 2021-01-19T23:51:57.945Z]  0:06.65 
[task 2021-01-19T23:51:57.945Z]  0:06.65         if callable(self._parameters):
[task 2021-01-19T23:51:57.946Z]  0:06.65             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:57.946Z]  0:06.65         else:
[task 2021-01-19T23:51:57.947Z]  0:06.65             parameters = self._parameters
[task 2021-01-19T23:51:57.947Z]  0:06.65         self.verify_parameters(parameters)
[task 2021-01-19T23:51:57.947Z]  0:06.65 
[task 2021-01-19T23:51:57.948Z]  0:06.65         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:57.948Z]  0:06.65         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:57.949Z]  0:06.65         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:57.949Z]  0:06.65             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:57.950Z]  0:06.65         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:57.950Z]  0:06.65 
[task 2021-01-19T23:51:57.950Z]  0:06.65         yield ("parameters", parameters)
[task 2021-01-19T23:51:57.951Z]  0:06.65 
[task 2021-01-19T23:51:57.951Z]  0:06.65         logger.info("Loading kinds")
[task 2021-01-19T23:51:57.952Z]  0:06.65         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:57.952Z]  0:06.65         # in post-order
[task 2021-01-19T23:51:57.952Z]  0:06.65         if parameters.get("target-kind"):
[task 2021-01-19T23:51:57.953Z]  0:06.65             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:57.953Z]  0:06.65             logger.info(
[task 2021-01-19T23:51:57.954Z]  0:06.65                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:57.954Z]  0:06.65                     target_kind=target_kind
[task 2021-01-19T23:51:57.954Z]  0:06.65                 )
[task 2021-01-19T23:51:57.955Z]  0:06.66             )
[task 2021-01-19T23:51:57.955Z]  0:06.66         kinds = {
[task 2021-01-19T23:51:57.956Z]  0:06.66             kind.name: kind
[task 2021-01-19T23:51:57.956Z]  0:06.66 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:57.956Z]  0:06.66         }
[task 2021-01-19T23:51:57.957Z]  0:06.66 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:57.957Z]  0:06.66 
[task 2021-01-19T23:51:57.958Z]  0:06.66 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:57.958Z]  0:06.66 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:57.958Z]  0:06.66 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:57.959Z]  0:06.66 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:57.959Z]  0:06.66 _______________________ TestGenerator.test_full_task_set _______________________
[task 2021-01-19T23:51:57.960Z]  0:06.66 
[task 2021-01-19T23:51:57.960Z]  0:06.66 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_full_task_set>
[task 2021-01-19T23:51:57.960Z]  0:06.66 
[task 2021-01-19T23:51:57.961Z]  0:06.66     def test_full_task_set(self):
[task 2021-01-19T23:51:57.961Z]  0:06.66         "The full_task_set property has all tasks"
[task 2021-01-19T23:51:57.962Z]  0:06.66         self.tgg = self.maketgg()
[task 2021-01-19T23:51:57.962Z]  0:06.66         self.assertEqual(
[task 2021-01-19T23:51:57.962Z]  0:06.66 >           self.tgg.full_task_set.graph,
[task 2021-01-19T23:51:57.963Z]  0:06.66             graph.Graph({"_fake-t-0", "_fake-t-1", "_fake-t-2"}, set()),
[task 2021-01-19T23:51:57.963Z]  0:06.66         )
[task 2021-01-19T23:51:57.964Z]  0:06.66 
[task 2021-01-19T23:51:57.965Z]  0:06.67 taskcluster/taskgraph/test/test_generator.py:146:
[task 2021-01-19T23:51:57.965Z]  0:06.67 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.966Z]  0:06.67 taskcluster/taskgraph/generator.py:164: in full_task_set
[task 2021-01-19T23:51:57.966Z]  0:06.67     return self._run_until("full_task_set")
[task 2021-01-19T23:51:57.966Z]  0:06.67 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:57.967Z]  0:06.67     k, v = next(self._run)
[task 2021-01-19T23:51:57.967Z]  0:06.67 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.968Z]  0:06.67 
[task 2021-01-19T23:51:57.968Z]  0:06.67 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587d2fd0>
[task 2021-01-19T23:51:57.968Z]  0:06.67 
[task 2021-01-19T23:51:57.969Z]  0:06.67     def _run(self):
[task 2021-01-19T23:51:57.969Z]  0:06.67         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:57.970Z]  0:06.67         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:57.970Z]  0:06.67 
[task 2021-01-19T23:51:57.970Z]  0:06.67         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:57.971Z]  0:06.67 
[task 2021-01-19T23:51:57.971Z]  0:06.67         graph_config.register()
[task 2021-01-19T23:51:57.972Z]  0:06.67 
[task 2021-01-19T23:51:57.972Z]  0:06.67         if callable(self._parameters):
[task 2021-01-19T23:51:57.972Z]  0:06.67             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:57.973Z]  0:06.67         else:
[task 2021-01-19T23:51:57.973Z]  0:06.67             parameters = self._parameters
[task 2021-01-19T23:51:57.974Z]  0:06.67         self.verify_parameters(parameters)
[task 2021-01-19T23:51:57.975Z]  0:06.67 
[task 2021-01-19T23:51:57.975Z]  0:06.68         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:57.976Z]  0:06.68         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:57.976Z]  0:06.68         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:57.977Z]  0:06.68             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:57.977Z]  0:06.68         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:57.977Z]  0:06.68 
[task 2021-01-19T23:51:57.978Z]  0:06.68         yield ("parameters", parameters)
[task 2021-01-19T23:51:57.978Z]  0:06.68 
[task 2021-01-19T23:51:57.979Z]  0:06.68         logger.info("Loading kinds")
[task 2021-01-19T23:51:57.979Z]  0:06.68         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:57.980Z]  0:06.68         # in post-order
[task 2021-01-19T23:51:57.980Z]  0:06.68         if parameters.get("target-kind"):
[task 2021-01-19T23:51:57.981Z]  0:06.68             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:57.981Z]  0:06.68             logger.info(
[task 2021-01-19T23:51:57.981Z]  0:06.68                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:57.982Z]  0:06.68                     target_kind=target_kind
[task 2021-01-19T23:51:57.982Z]  0:06.68                 )
[task 2021-01-19T23:51:57.983Z]  0:06.68             )
[task 2021-01-19T23:51:57.983Z]  0:06.68         kinds = {
[task 2021-01-19T23:51:57.983Z]  0:06.68             kind.name: kind
[task 2021-01-19T23:51:57.984Z]  0:06.68 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:57.984Z]  0:06.68         }
[task 2021-01-19T23:51:57.985Z]  0:06.69 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:57.985Z]  0:06.69 
[task 2021-01-19T23:51:57.985Z]  0:06.69 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:57.986Z]  0:06.69 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:57.986Z]  0:06.69 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:57.987Z]  0:06.69 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:57.987Z]  0:06.69 _______________________ TestGenerator.test_kind_ordering _______________________
[task 2021-01-19T23:51:57.987Z]  0:06.69 
[task 2021-01-19T23:51:57.988Z]  0:06.69 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_kind_ordering>
[task 2021-01-19T23:51:57.988Z]  0:06.69 
[task 2021-01-19T23:51:57.989Z]  0:06.69     def test_kind_ordering(self):
[task 2021-01-19T23:51:57.989Z]  0:06.69         "When task kinds depend on each other, they are loaded in postorder"
[task 2021-01-19T23:51:57.990Z]  0:06.69         self.tgg = self.maketgg(
[task 2021-01-19T23:51:57.990Z]  0:06.69             kinds=[
[task 2021-01-19T23:51:57.991Z]  0:06.69                 ("_fake3", {"kind-dependencies": ["_fake2", "_fake1"]}),
[task 2021-01-19T23:51:57.991Z]  0:06.69                 ("_fake2", {"kind-dependencies": ["_fake1"]}),
[task 2021-01-19T23:51:57.991Z]  0:06.69                 ("_fake1", {"kind-dependencies": []}),
[task 2021-01-19T23:51:57.992Z]  0:06.69             ]
[task 2021-01-19T23:51:57.992Z]  0:06.69         )
[task 2021-01-19T23:51:57.993Z]  0:06.69 >       self.tgg._run_until("full_task_set")
[task 2021-01-19T23:51:57.993Z]  0:06.69 
[task 2021-01-19T23:51:57.993Z]  0:06.69 taskcluster/taskgraph/test/test_generator.py:139:
[task 2021-01-19T23:51:57.994Z]  0:06.69 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.994Z]  0:06.69 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:57.995Z]  0:06.70     k, v = next(self._run)
[task 2021-01-19T23:51:57.995Z]  0:06.70 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:57.996Z]  0:06.70 
[task 2021-01-19T23:51:57.996Z]  0:06.70 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587dc6d8>
[task 2021-01-19T23:51:57.996Z]  0:06.70 
[task 2021-01-19T23:51:57.997Z]  0:06.70     def _run(self):
[task 2021-01-19T23:51:57.997Z]  0:06.70         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:57.998Z]  0:06.70         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:57.998Z]  0:06.70 
[task 2021-01-19T23:51:57.999Z]  0:06.70         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:57.999Z]  0:06.70 
[task 2021-01-19T23:51:58.000Z]  0:06.70         graph_config.register()
[task 2021-01-19T23:51:58.000Z]  0:06.70 
[task 2021-01-19T23:51:58.000Z]  0:06.70         if callable(self._parameters):
[task 2021-01-19T23:51:58.001Z]  0:06.70             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:58.001Z]  0:06.70         else:
[task 2021-01-19T23:51:58.001Z]  0:06.70             parameters = self._parameters
[task 2021-01-19T23:51:58.002Z]  0:06.70         self.verify_parameters(parameters)
[task 2021-01-19T23:51:58.002Z]  0:06.70 
[task 2021-01-19T23:51:58.003Z]  0:06.70         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:58.003Z]  0:06.70         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:58.004Z]  0:06.70         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:58.004Z]  0:06.70             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:58.004Z]  0:06.70         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:58.005Z]  0:06.71 
[task 2021-01-19T23:51:58.005Z]  0:06.71         yield ("parameters", parameters)
[task 2021-01-19T23:51:58.006Z]  0:06.71 
[task 2021-01-19T23:51:58.006Z]  0:06.71         logger.info("Loading kinds")
[task 2021-01-19T23:51:58.006Z]  0:06.71         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:58.007Z]  0:06.71         # in post-order
[task 2021-01-19T23:51:58.007Z]  0:06.71         if parameters.get("target-kind"):
[task 2021-01-19T23:51:58.008Z]  0:06.71             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:58.008Z]  0:06.71             logger.info(
[task 2021-01-19T23:51:58.008Z]  0:06.71                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:58.009Z]  0:06.71                     target_kind=target_kind
[task 2021-01-19T23:51:58.009Z]  0:06.71                 )
[task 2021-01-19T23:51:58.010Z]  0:06.71             )
[task 2021-01-19T23:51:58.010Z]  0:06.71         kinds = {
[task 2021-01-19T23:51:58.010Z]  0:06.71             kind.name: kind
[task 2021-01-19T23:51:58.011Z]  0:06.71 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:58.011Z]  0:06.71         }
[task 2021-01-19T23:51:58.012Z]  0:06.71 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:58.012Z]  0:06.71 
[task 2021-01-19T23:51:58.012Z]  0:06.71 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:58.013Z]  0:06.71 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:58.013Z]  0:06.71 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:58.014Z]  0:06.71 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:58.014Z]  0:06.71 ___________________ TestGenerator.test_optimized_task_graph ____________________
[task 2021-01-19T23:51:58.014Z]  0:06.72 
[task 2021-01-19T23:51:58.015Z]  0:06.72 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_optimized_task_graph>
[task 2021-01-19T23:51:58.015Z]  0:06.72 
[task 2021-01-19T23:51:58.016Z]  0:06.72     def test_optimized_task_graph(self):
[task 2021-01-19T23:51:58.016Z]  0:06.72         "The optimized task graph contains task ids"
[task 2021-01-19T23:51:58.016Z]  0:06.72         self.tgg = self.maketgg(["_fake-t-2"])
[task 2021-01-19T23:51:58.017Z]  0:06.72 >       tid = self.tgg.label_to_taskid
[task 2021-01-19T23:51:58.017Z]  0:06.72 
[task 2021-01-19T23:51:58.018Z]  0:06.72 taskcluster/taskgraph/test/test_generator.py:233:
[task 2021-01-19T23:51:58.018Z]  0:06.72 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.019Z]  0:06.72 taskcluster/taskgraph/generator.py:213: in label_to_taskid
[task 2021-01-19T23:51:58.019Z]  0:06.72     return self._run_until("label_to_taskid")
[task 2021-01-19T23:51:58.019Z]  0:06.72 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:58.020Z]  0:06.72     k, v = next(self._run)
[task 2021-01-19T23:51:58.020Z]  0:06.72 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.021Z]  0:06.72 
[task 2021-01-19T23:51:58.021Z]  0:06.72 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587de438>
[task 2021-01-19T23:51:58.021Z]  0:06.72 
[task 2021-01-19T23:51:58.022Z]  0:06.72     def _run(self):
[task 2021-01-19T23:51:58.022Z]  0:06.72         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:58.023Z]  0:06.72         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:58.023Z]  0:06.72 
[task 2021-01-19T23:51:58.023Z]  0:06.72         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:58.024Z]  0:06.72 
[task 2021-01-19T23:51:58.024Z]  0:06.72         graph_config.register()
[task 2021-01-19T23:51:58.025Z]  0:06.73 
[task 2021-01-19T23:51:58.025Z]  0:06.73         if callable(self._parameters):
[task 2021-01-19T23:51:58.026Z]  0:06.73             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:58.026Z]  0:06.73         else:
[task 2021-01-19T23:51:58.026Z]  0:06.73             parameters = self._parameters
[task 2021-01-19T23:51:58.027Z]  0:06.73         self.verify_parameters(parameters)
[task 2021-01-19T23:51:58.027Z]  0:06.73 
[task 2021-01-19T23:51:58.028Z]  0:06.73         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:58.028Z]  0:06.73         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:58.029Z]  0:06.73         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:58.029Z]  0:06.73             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:58.029Z]  0:06.73         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:58.030Z]  0:06.73 
[task 2021-01-19T23:51:58.030Z]  0:06.73         yield ("parameters", parameters)
[task 2021-01-19T23:51:58.031Z]  0:06.73 
[task 2021-01-19T23:51:58.031Z]  0:06.73         logger.info("Loading kinds")
[task 2021-01-19T23:51:58.031Z]  0:06.73         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:58.032Z]  0:06.73         # in post-order
[task 2021-01-19T23:51:58.032Z]  0:06.73         if parameters.get("target-kind"):
[task 2021-01-19T23:51:58.033Z]  0:06.73             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:58.033Z]  0:06.73             logger.info(
[task 2021-01-19T23:51:58.034Z]  0:06.73                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:58.034Z]  0:06.73                     target_kind=target_kind
[task 2021-01-19T23:51:58.034Z]  0:06.73                 )
[task 2021-01-19T23:51:58.035Z]  0:06.74             )
[task 2021-01-19T23:51:58.035Z]  0:06.74         kinds = {
[task 2021-01-19T23:51:58.036Z]  0:06.74             kind.name: kind
[task 2021-01-19T23:51:58.036Z]  0:06.74 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:58.036Z]  0:06.74         }
[task 2021-01-19T23:51:58.037Z]  0:06.74 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:58.037Z]  0:06.74 
[task 2021-01-19T23:51:58.038Z]  0:06.74 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:58.038Z]  0:06.74 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:58.039Z]  0:06.74 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:58.039Z]  0:06.74 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:58.040Z]  0:06.74 _____________________ TestGenerator.test_target_task_graph _____________________
[task 2021-01-19T23:51:58.040Z]  0:06.74 
[task 2021-01-19T23:51:58.040Z]  0:06.74 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_target_task_graph>
[task 2021-01-19T23:51:58.041Z]  0:06.74 
[task 2021-01-19T23:51:58.041Z]  0:06.74     def test_target_task_graph(self):
[task 2021-01-19T23:51:58.042Z]  0:06.74         "The target_task_graph property has the targeted tasks and deps"
[task 2021-01-19T23:51:58.042Z]  0:06.74         self.tgg = self.maketgg(["_fake-t-1"])
[task 2021-01-19T23:51:58.042Z]  0:06.74         self.assertEqual(
[task 2021-01-19T23:51:58.043Z]  0:06.74 >           self.tgg.target_task_graph.graph,
[task 2021-01-19T23:51:58.043Z]  0:06.74             graph.Graph(
[task 2021-01-19T23:51:58.044Z]  0:06.74                 {"_fake-t-0", "_fake-t-1"}, {("_fake-t-1", "_fake-t-0", "prev")}
[task 2021-01-19T23:51:58.044Z]  0:06.74             ),
[task 2021-01-19T23:51:58.044Z]  0:06.75         )
[task 2021-01-19T23:51:58.045Z]  0:06.75 
[task 2021-01-19T23:51:58.045Z]  0:06.75 taskcluster/taskgraph/test/test_generator.py:186:
[task 2021-01-19T23:51:58.046Z]  0:06.75 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.046Z]  0:06.75 taskcluster/taskgraph/generator.py:192: in target_task_graph
[task 2021-01-19T23:51:58.047Z]  0:06.75     return self._run_until("target_task_graph")
[task 2021-01-19T23:51:58.047Z]  0:06.75 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:58.048Z]  0:06.75     k, v = next(self._run)
[task 2021-01-19T23:51:58.048Z]  0:06.75 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.048Z]  0:06.75 
[task 2021-01-19T23:51:58.049Z]  0:06.75 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587e8da0>
[task 2021-01-19T23:51:58.049Z]  0:06.75 
[task 2021-01-19T23:51:58.050Z]  0:06.75     def _run(self):
[task 2021-01-19T23:51:58.050Z]  0:06.75         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:58.051Z]  0:06.75         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:58.051Z]  0:06.75 
[task 2021-01-19T23:51:58.051Z]  0:06.75         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:58.052Z]  0:06.75 
[task 2021-01-19T23:51:58.052Z]  0:06.75         graph_config.register()
[task 2021-01-19T23:51:58.053Z]  0:06.75 
[task 2021-01-19T23:51:58.053Z]  0:06.75         if callable(self._parameters):
[task 2021-01-19T23:51:58.053Z]  0:06.75             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:58.054Z]  0:06.75         else:
[task 2021-01-19T23:51:58.054Z]  0:06.75             parameters = self._parameters
[task 2021-01-19T23:51:58.055Z]  0:06.76         self.verify_parameters(parameters)
[task 2021-01-19T23:51:58.055Z]  0:06.76 
[task 2021-01-19T23:51:58.056Z]  0:06.76         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:58.056Z]  0:06.76         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:58.056Z]  0:06.76         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:58.057Z]  0:06.76             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:58.057Z]  0:06.76         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:58.058Z]  0:06.76 
[task 2021-01-19T23:51:58.058Z]  0:06.76         yield ("parameters", parameters)
[task 2021-01-19T23:51:58.058Z]  0:06.76 
[task 2021-01-19T23:51:58.059Z]  0:06.76         logger.info("Loading kinds")
[task 2021-01-19T23:51:58.059Z]  0:06.76         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:58.060Z]  0:06.76         # in post-order
[task 2021-01-19T23:51:58.060Z]  0:06.76         if parameters.get("target-kind"):
[task 2021-01-19T23:51:58.061Z]  0:06.76             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:58.061Z]  0:06.76             logger.info(
[task 2021-01-19T23:51:58.061Z]  0:06.76                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:58.062Z]  0:06.76                     target_kind=target_kind
[task 2021-01-19T23:51:58.062Z]  0:06.76                 )
[task 2021-01-19T23:51:58.063Z]  0:06.76             )
[task 2021-01-19T23:51:58.063Z]  0:06.76         kinds = {
[task 2021-01-19T23:51:58.063Z]  0:06.76             kind.name: kind
[task 2021-01-19T23:51:58.064Z]  0:06.76 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:58.064Z]  0:06.76         }
[task 2021-01-19T23:51:58.065Z]  0:06.77 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:58.065Z]  0:06.77 
[task 2021-01-19T23:51:58.066Z]  0:06.77 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:58.066Z]  0:06.77 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:58.066Z]  0:06.77 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:58.067Z]  0:06.77 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:58.067Z]  0:06.77 ______________________ TestGenerator.test_target_task_set ______________________
[task 2021-01-19T23:51:58.068Z]  0:06.77 
[task 2021-01-19T23:51:58.068Z]  0:06.77 self = <taskgraph.test.test_generator.TestGenerator testMethod=test_target_task_set>
[task 2021-01-19T23:51:58.069Z]  0:06.77 
[task 2021-01-19T23:51:58.069Z]  0:06.77     def test_target_task_set(self):
[task 2021-01-19T23:51:58.069Z]  0:06.77         "The target_task_set property has the targeted tasks"
[task 2021-01-19T23:51:58.070Z]  0:06.77         self.tgg = self.maketgg(["_fake-t-1"])
[task 2021-01-19T23:51:58.070Z]  0:06.77         self.assertEqual(
[task 2021-01-19T23:51:58.071Z]  0:06.77 >           self.tgg.target_task_set.graph, graph.Graph({"_fake-t-1"}, set())
[task 2021-01-19T23:51:58.071Z]  0:06.77         )
[task 2021-01-19T23:51:58.072Z]  0:06.77 
[task 2021-01-19T23:51:58.072Z]  0:06.77 taskcluster/taskgraph/test/test_generator.py:176:
[task 2021-01-19T23:51:58.072Z]  0:06.77 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.073Z]  0:06.77 taskcluster/taskgraph/generator.py:183: in target_task_set
[task 2021-01-19T23:51:58.073Z]  0:06.77     return self._run_until("target_task_set")
[task 2021-01-19T23:51:58.074Z]  0:06.77 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:58.074Z]  0:06.77     k, v = next(self._run)
[task 2021-01-19T23:51:58.075Z]  0:06.78 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.075Z]  0:06.78 
[task 2021-01-19T23:51:58.075Z]  0:06.78 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587d2320>
[task 2021-01-19T23:51:58.076Z]  0:06.78 
[task 2021-01-19T23:51:58.076Z]  0:06.78     def _run(self):
[task 2021-01-19T23:51:58.078Z]  0:06.78         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:58.078Z]  0:06.78         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:58.079Z]  0:06.78 
[task 2021-01-19T23:51:58.079Z]  0:06.78         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:58.079Z]  0:06.78 
[task 2021-01-19T23:51:58.079Z]  0:06.78         graph_config.register()
[task 2021-01-19T23:51:58.079Z]  0:06.78 
[task 2021-01-19T23:51:58.079Z]  0:06.78         if callable(self._parameters):
[task 2021-01-19T23:51:58.079Z]  0:06.78             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:58.079Z]  0:06.78         else:
[task 2021-01-19T23:51:58.079Z]  0:06.78             parameters = self._parameters
[task 2021-01-19T23:51:58.079Z]  0:06.78         self.verify_parameters(parameters)
[task 2021-01-19T23:51:58.079Z]  0:06.78 
[task 2021-01-19T23:51:58.080Z]  0:06.78         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:58.080Z]  0:06.78         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:58.080Z]  0:06.78         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:58.080Z]  0:06.78             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:58.080Z]  0:06.78         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:58.080Z]  0:06.78 
[task 2021-01-19T23:51:58.080Z]  0:06.78         yield ("parameters", parameters)
[task 2021-01-19T23:51:58.080Z]  0:06.78 
[task 2021-01-19T23:51:58.080Z]  0:06.78         logger.info("Loading kinds")
[task 2021-01-19T23:51:58.080Z]  0:06.78         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:58.080Z]  0:06.78         # in post-order
[task 2021-01-19T23:51:58.080Z]  0:06.78         if parameters.get("target-kind"):
[task 2021-01-19T23:51:58.081Z]  0:06.78             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:58.081Z]  0:06.78             logger.info(
[task 2021-01-19T23:51:58.081Z]  0:06.78                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:58.081Z]  0:06.78                     target_kind=target_kind
[task 2021-01-19T23:51:58.081Z]  0:06.78                 )
[task 2021-01-19T23:51:58.081Z]  0:06.78             )
[task 2021-01-19T23:51:58.081Z]  0:06.78         kinds = {
[task 2021-01-19T23:51:58.081Z]  0:06.78             kind.name: kind
[task 2021-01-19T23:51:58.081Z]  0:06.78 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:58.081Z]  0:06.78         }
[task 2021-01-19T23:51:58.081Z]  0:06.78 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:58.081Z]  0:06.78 
[task 2021-01-19T23:51:58.081Z]  0:06.78 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:58.082Z]  0:06.78 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:58.082Z]  0:06.78 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:58.082Z]  0:06.78 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:58.082Z]  0:06.78 ___________________________ test_load_tasks_for_kind ___________________________
[task 2021-01-19T23:51:58.082Z]  0:06.78 
[task 2021-01-19T23:51:58.082Z]  0:06.78 monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7f2c587dcb00>
[task 2021-01-19T23:51:58.082Z]  0:06.78 
[task 2021-01-19T23:51:58.082Z]  0:06.78     def test_load_tasks_for_kind(monkeypatch):
[task 2021-01-19T23:51:58.082Z]  0:06.78         """
[task 2021-01-19T23:51:58.082Z]  0:06.78         `load_tasks_for_kinds` will load the tasks for the provided kind
[task 2021-01-19T23:51:58.082Z]  0:06.78         """
[task 2021-01-19T23:51:58.082Z]  0:06.78         monkeypatch.setattr(generator, "TaskGraphGenerator", WithFakeKind)
[task 2021-01-19T23:51:58.083Z]  0:06.78         monkeypatch.setattr(generator, "load_graph_config", fake_load_graph_config)
[task 2021-01-19T23:51:58.083Z]  0:06.78 
[task 2021-01-19T23:51:58.083Z]  0:06.78         tasks = load_tasks_for_kind(
[task 2021-01-19T23:51:58.083Z]  0:06.78             {"_kinds": [("_example-kind", []), ("docker-image", [])]},
[task 2021-01-19T23:51:58.083Z]  0:06.78             "_example-kind",
[task 2021-01-19T23:51:58.083Z]  0:06.78 >           "/root",
[task 2021-01-19T23:51:58.083Z]  0:06.78         )
[task 2021-01-19T23:51:58.084Z]  0:06.78 
[task 2021-01-19T23:51:58.084Z]  0:06.79 taskcluster/taskgraph/test/test_generator.py:256:
[task 2021-01-19T23:51:58.085Z]  0:06.79 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.085Z]  0:06.79 taskcluster/taskgraph/generator.py:490: in load_tasks_for_kind
[task 2021-01-19T23:51:58.086Z]  0:06.79     for task in tgg.full_task_set
[task 2021-01-19T23:51:58.087Z]  0:06.79 taskcluster/taskgraph/generator.py:164: in full_task_set
[task 2021-01-19T23:51:58.087Z]  0:06.79     return self._run_until("full_task_set")
[task 2021-01-19T23:51:58.087Z]  0:06.79 taskcluster/taskgraph/generator.py:435: in _run_until
[task 2021-01-19T23:51:58.088Z]  0:06.79     k, v = next(self._run)
[task 2021-01-19T23:51:58.088Z]  0:06.79 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[task 2021-01-19T23:51:58.089Z]  0:06.79 
[task 2021-01-19T23:51:58.089Z]  0:06.79 self = <taskgraph.test.test_generator.WithFakeKind object at 0x7f2c587dce48>
[task 2021-01-19T23:51:58.090Z]  0:06.79 
[task 2021-01-19T23:51:58.090Z]  0:06.79     def _run(self):
[task 2021-01-19T23:51:58.090Z]  0:06.79         logger.info("Loading graph configuration.")
[task 2021-01-19T23:51:58.091Z]  0:06.79         graph_config = load_graph_config(self.root_dir)
[task 2021-01-19T23:51:58.091Z]  0:06.79 
[task 2021-01-19T23:51:58.091Z]  0:06.79         yield ("graph_config", graph_config)
[task 2021-01-19T23:51:58.092Z]  0:06.79 
[task 2021-01-19T23:51:58.092Z]  0:06.79         graph_config.register()
[task 2021-01-19T23:51:58.092Z]  0:06.79 
[task 2021-01-19T23:51:58.092Z]  0:06.79         if callable(self._parameters):
[task 2021-01-19T23:51:58.092Z]  0:06.79             parameters = self._parameters(graph_config)
[task 2021-01-19T23:51:58.092Z]  0:06.79         else:
[task 2021-01-19T23:51:58.093Z]  0:06.79             parameters = self._parameters
[task 2021-01-19T23:51:58.093Z]  0:06.79         self.verify_parameters(parameters)
[task 2021-01-19T23:51:58.093Z]  0:06.79 
[task 2021-01-19T23:51:58.094Z]  0:06.79         filters = parameters.get("filters", [])
[task 2021-01-19T23:51:58.094Z]  0:06.79         # Always add legacy target tasks method until we deprecate that API.
[task 2021-01-19T23:51:58.095Z]  0:06.79         if "target_tasks_method" not in filters:
[task 2021-01-19T23:51:58.095Z]  0:06.79             filters.insert(0, "target_tasks_method")
[task 2021-01-19T23:51:58.095Z]  0:06.80         filters = [filter_tasks.filter_task_functions[f] for f in filters]
[task 2021-01-19T23:51:58.095Z]  0:06.80 
[task 2021-01-19T23:51:58.095Z]  0:06.80         yield ("parameters", parameters)
[task 2021-01-19T23:51:58.095Z]  0:06.80 
[task 2021-01-19T23:51:58.096Z]  0:06.80         logger.info("Loading kinds")
[task 2021-01-19T23:51:58.096Z]  0:06.80         # put the kinds into a graph and sort topologically so that kinds are loaded
[task 2021-01-19T23:51:58.096Z]  0:06.80         # in post-order
[task 2021-01-19T23:51:58.096Z]  0:06.80         if parameters.get("target-kind"):
[task 2021-01-19T23:51:58.099Z]  0:06.80             target_kind = parameters["target-kind"]
[task 2021-01-19T23:51:58.099Z]  0:06.80             logger.info(
[task 2021-01-19T23:51:58.100Z]  0:06.80                 "Limiting kinds to {target_kind} and dependencies".format(
[task 2021-01-19T23:51:58.100Z]  0:06.80                     target_kind=target_kind
[task 2021-01-19T23:51:58.100Z]  0:06.80                 )
[task 2021-01-19T23:51:58.101Z]  0:06.80             )
[task 2021-01-19T23:51:58.101Z]  0:06.80         kinds = {
[task 2021-01-19T23:51:58.101Z]  0:06.80             kind.name: kind
[task 2021-01-19T23:51:58.102Z]  0:06.80 >           for kind in self._load_kinds(graph_config, parameters.get("target-kind"))
[task 2021-01-19T23:51:58.102Z]  0:06.80         }
[task 2021-01-19T23:51:58.102Z]  0:06.80 E       TypeError: _load_kinds() takes 2 positional arguments but 3 were given
[task 2021-01-19T23:51:58.102Z]  0:06.80 
[task 2021-01-19T23:51:58.103Z]  0:06.80 taskcluster/taskgraph/generator.py:290: TypeError
[task 2021-01-19T23:51:58.103Z]  0:06.80 ------------------------------ Captured log call -------------------------------
[task 2021-01-19T23:51:58.103Z]  0:06.80 generator.py               257 INFO     Loading graph configuration.
[task 2021-01-19T23:51:58.103Z]  0:06.80 generator.py               278 INFO     Loading kinds
[task 2021-01-19T23:51:58.104Z]  0:06.80 generator.py               285 INFO     Limiting kinds to _example-kind and dependencies
[task 2021-01-19T23:51:58.104Z]  0:06.80 =========================== 8 failed in 0.46 seconds ===========================
[task 2021-01-19T23:51:58.104Z]  0:06.80 Setting retcode to 1 from /builds/worker/checkouts/gecko/taskcluster/taskgraph/test/test_generator.py"```
Flags: needinfo?(mh+mozilla)
Keywords: regression
Regressed by: 1687425
Summary: Intermittent 0:06.62 taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_always_target_tasks TEST-UNEXPECTED-FAIL → Perma taskcluster/taskgraph/test/test_generator.py::TestGenerator::test_always_target_tasks TEST-UNEXPECTED-FAIL
Has Regression Range: --- → yes
Assignee: nobody → mh+mozilla
Status: NEW → ASSIGNED
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/d1b6ea8630b0 Fix test_generator.py after bug 1687425. r=taskgraph-reviewers,aki
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
Flags: needinfo?(mh+mozilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: