def test_deps_not_ok(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'failure' td._node_add_wait_run(n1, ['t2']) assert n1.bad_deps
def test_deps_not_ok(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'failure' td._node_add_wait_run(n1, ['t2']) assert n1.bad_deps
def test_none(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'done' td._node_add_wait_run(n1, ['t2']) assert not n1.wait_run
def test_none(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'done' td._node_add_wait_run(n1, ['t2']) assert not n1.wait_run
def test_wait(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n1.wait_run.add('xxx') td._node_add_wait_run(n1, ['t2']) assert 2 == len(n1.wait_run) assert 't2' in n1.wait_run assert not n1.bad_deps assert n1 in n2.waiting_me
def test_wait(self): tasks = {'t1': Task('t1', None), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n1.wait_run.add('xxx') td._node_add_wait_run(n1, ['t2']) assert 2 == len(n1.wait_run) assert 't2' in n1.wait_run assert not n1.bad_deps assert n1 in n2.waiting_me
def test_wait_run_deps_not_ok(self): tasks = {'t1': Task('t1', None, task_dep=['t2']), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') td._node_add_wait_run(n1, ['t2']) n2.run_status = 'failure' td.waiting.add(n1) td._update_waiting(n2) assert n1.bad_deps assert deque([n1]) == td.ready assert 0 == len(td.waiting)
def test_wait_run_deps_not_ok(self): tasks = {'t1': Task('t1', None, task_dep=['t2']), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') td._node_add_wait_run(n1, ['t2']) n2.run_status = 'failure' td.waiting.add(n1) td._update_waiting(n2) assert n1.bad_deps assert deque([n1]) == td.ready assert 0 == len(td.waiting)
def test_calc_dep_already_executed(self): tasks = {'t1': Task('t1', None, calc_dep=['t2']), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'done' n2.task.values = {'calc_dep': ['t3'], 'task_dep':['t5']} td._node_add_wait_run(n1, ['t2'], calc=True) # n1 is updated with results from t2 assert n1.calc_dep == set(['t2', 't3']) assert n1.task_dep == ['t5'] # n1 doesnt need to wait any calc_dep to be executed assert n1.wait_run_calc == set()
def test_calc_dep_already_executed(self): tasks = {'t1': Task('t1', None, calc_dep=['t2']), 't2': Task('t2', None), } td = TaskDispatcher(tasks, [], None) n1 = td._gen_node(None, 't1') n2 = td._gen_node(None, 't2') n2.run_status = 'done' n2.task.values = {'calc_dep': ['t3'], 'task_dep':['t5']} td._node_add_wait_run(n1, ['t2'], calc=True) # n1 is updated with results from t2 assert n1.calc_dep == set(['t2', 't3']) assert n1.task_dep == ['t5'] # n1 doesnt need to wait any calc_dep to be executed assert n1.wait_run_calc == set()