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)
Firefox Build System
Task Configuration
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"```
Updated•4 years ago
|
status-firefox84:
--- → unaffected
status-firefox85:
--- → unaffected
status-firefox86:
--- → affected
status-firefox-esr78:
--- → unaffected
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
Updated•4 years ago
|
Has Regression Range: --- → yes
| Assignee | ||
Comment 1•4 years ago
|
||
Updated•4 years ago
|
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
Comment 3•4 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 86 Branch
| Assignee | ||
Updated•4 years ago
|
Flags: needinfo?(mh+mozilla)
| Comment hidden (Intermittent Failures Robot) |
You need to log in
before you can comment on or make changes to this bug.
Description
•