mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 18:40:01 -03:30
Merge pull request #3758 from jangsutsr/3667_always_check_missing_in_bfs
Add missing always_node check in bfs
This commit is contained in:
commit
237587c2e7
@ -42,7 +42,9 @@ class WorkflowDAG(SimpleDAG):
|
||||
nodes.extend(children_all)
|
||||
elif job.status in ['successful']:
|
||||
children_success = self.get_dependencies(obj, 'success_nodes')
|
||||
nodes.extend(children_success)
|
||||
children_always = self.get_dependencies(obj, 'always_nodes')
|
||||
children_all = children_success + children_always
|
||||
nodes.extend(children_all)
|
||||
return [n['node_object'] for n in nodes_found]
|
||||
|
||||
def is_workflow_done(self):
|
||||
@ -67,6 +69,8 @@ class WorkflowDAG(SimpleDAG):
|
||||
nodes.extend(children_all)
|
||||
elif job.status in ['successful']:
|
||||
children_success = self.get_dependencies(obj, 'success_nodes')
|
||||
nodes.extend(children_success)
|
||||
children_always = self.get_dependencies(obj, 'always_nodes')
|
||||
children_all = children_success + children_always
|
||||
nodes.extend(children_all)
|
||||
return True
|
||||
|
||||
|
||||
@ -154,7 +154,25 @@ def workflow_dag_finished(factory_node):
|
||||
expected = []
|
||||
return (dag, expected, True)
|
||||
|
||||
@pytest.fixture(params=['workflow_dag_multiple_roots', 'workflow_dag_level_2', 'workflow_dag_multiple_edges_labeled', 'workflow_dag_finished'])
|
||||
@pytest.fixture
|
||||
def workflow_dag_always(factory_node):
|
||||
dag = WorkflowDAG()
|
||||
data = [
|
||||
factory_node(0, 'failed'),
|
||||
factory_node(1, 'successful'),
|
||||
factory_node(2, None),
|
||||
]
|
||||
[dag.add_node(d) for d in data]
|
||||
|
||||
dag.add_edge(data[0], data[1], 'always_nodes')
|
||||
dag.add_edge(data[1], data[2], 'always_nodes')
|
||||
|
||||
expected = data[2:3]
|
||||
return (dag, expected, False)
|
||||
|
||||
@pytest.fixture(params=['workflow_dag_multiple_roots', 'workflow_dag_level_2',
|
||||
'workflow_dag_multiple_edges_labeled', 'workflow_dag_finished',
|
||||
'workflow_dag_always'])
|
||||
def workflow_dag(request):
|
||||
return request.getfuncargvalue(request.param)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user