예제 #1
0
 def test_executeGroupTask(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.execute_task(Task("t_name", None))
     assert "" == rep.outstream.getvalue()
예제 #2
0
 def test_save_result_hash(self, pdep_manager):
     t1 = Task('t_name', None)
     t1.result = "result"
     pdep_manager.save_success(t1, result_hash='abc')
     assert 'abc' == pdep_manager._get(t1.name, "result:")
예제 #3
0
 def test_save_result_dict(self, pdep_manager):
     t1 = Task('t_name', None)
     t1.result = {'d': "result"}
     pdep_manager.save_success(t1)
     assert {'d': "result"} == pdep_manager._get(t1.name, "result:")
예제 #4
0
 def test_bug770150_task_dependency_from_target(self):
     t1 = Task("taskX", None, file_dep=[], targets=['intermediate'])
     t2 = Task("taskY", None, file_dep=['intermediate'], task_dep=['taskZ'])
     t3 = Task("taskZ", None)
     TaskControl([t1, t2, t3])
     assert ['taskZ', 'taskX'] == t2.task_dep
예제 #5
0
 def creator1():
     yield Task('foo1', None, targets=['tgt1'])
예제 #6
0
 def test_userErrorSetupTask(self):
     tasks = [Task('wrong', None, setup=["typo"])]
     pytest.raises(InvalidTask, TaskControl, tasks)
예제 #7
0
 def creator():
     yield Task('foo', None, loader=DelayedLoader(lambda: None))
예제 #8
0
 def testFilterTarget(self, tasks_sample):
     tasks = list(tasks_sample)
     tasks.append(Task("tX", [""], [], ["targetX"]))
     tc = TaskControl(tasks)
     assert ['tX'] == tc._filter_tasks(["targetX"])
예제 #9
0
 def test_addTask(self):
     t1 = Task("taskX", None)
     t2 = Task("taskY", None)
     tc = TaskControl([t1, t2])
     assert 2 == len(tc.tasks)
예제 #10
0
 def test_teardownTask(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.teardown_task(Task("t_name", None))
     # no output on teardown task
     assert "" in rep.outstream.getvalue()
예제 #11
0
 def test_addSuccess(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.add_success(Task("t_name", None))
     # no output on success task
     assert "" in rep.outstream.getvalue()
예제 #12
0
 def test_skipIgnore(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.skip_ignore(Task("t_name", None))
     assert "!! " in rep.outstream.getvalue()
     assert "t_name" in rep.outstream.getvalue()
예제 #13
0
 def test_skipUptodate_hidden(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.skip_uptodate(Task("_name", None))
     assert "" == rep.outstream.getvalue()
예제 #14
0
 def test_skipUptodate(self):
     rep = reporter.ConsoleReporter(StringIO(), {})
     rep.skip_uptodate(Task("t_name", None))
     assert "-- " in rep.outstream.getvalue()
     assert "t_name" in rep.outstream.getvalue()
예제 #15
0
 def test_cyclic(self):
     tasks = {'t1': Task('t1', None), 't2': Task('t2', None)}
     td = TaskDispatcher(tasks, [], None)
     n1 = td._gen_node(None, 't1')
     n2 = td._gen_node(n1, 't2')
     pytest.raises(InvalidDodoFile, td._gen_node, n2, 't1')
예제 #16
0
 def test_targetDependency(self):
     t1 = Task("taskX", None, [], ['intermediate'])
     t2 = Task("taskY", None, ['intermediate'], [])
     TaskControl([t1, t2])
     assert ['taskX'] == t2.task_dep
예제 #17
0
 def test_userErrorTaskDependency(self):
     tasks = [Task('wrong', None, task_dep=["typo"])]
     pytest.raises(InvalidTask, TaskControl, tasks)
예제 #18
0
 def testFilterWrongSubtaskName(self):
     t1 = Task("taskX", None)
     t2 = Task("taskY", None)
     tc = TaskControl([t1, t2])
     pytest.raises(InvalidCommand, tc._filter_tasks, ['taskX:no'])
예제 #19
0
 def test_sameTarget(self):
     tasks = [
         Task('t1', None, [], ["fileX"]),
         Task('t2', None, [], ["fileX"])
     ]
     pytest.raises(InvalidTask, TaskControl, tasks)
예제 #20
0
 def test_repr(self):
     node = ExecNode(Task('t1', None), None)
     assert 't1' in repr(node)
예제 #21
0
 def creator():
     yield Task('t1:foo', None)
     yield Task('t1:bar', None)
예제 #22
0
 def test_ready_select__not_waiting(self):
     task = Task("t1", None)
     node = ExecNode(task, None)
     assert False == node.wait_select
예제 #23
0
 def creator2():  # pragma: no cover
     yield Task('foo2', None, targets=['tgt2'])
예제 #24
0
 def test_addTaskSameName(self):
     t1 = Task("taskX", None)
     t2 = Task("taskX", None)
     pytest.raises(InvalidDodoFile, TaskControl, [t1, t2])
예제 #25
0
 def test_save_result(self, pdep_manager):
     t1 = Task('t_name', None)
     t1.result = "result"
     pdep_manager.save_success(t1)
     assert get_md5("result") == pdep_manager._get(t1.name, "result:")
     assert get_md5("result") == pdep_manager.get_result(t1.name)
예제 #26
0
 def test_create(self):
     tasks = {'t1': Task('t1', None)}
     td = TaskDispatcher(tasks, [], None)
     node = td._gen_node(None, 't1')
     assert isinstance(node, ExecNode)
     assert node == td.nodes['t1']
예제 #27
0
 def test_save_resultNone(self, pdep_manager):
     t1 = Task('t_name', None)
     pdep_manager.save_success(t1)
     assert None is pdep_manager._get(t1.name, "result:")
예제 #28
0
 def test_already_created(self):
     tasks = {'t1': Task('t1', None), 't2': Task('t2', None)}
     td = TaskDispatcher(tasks, [], None)
     n1 = td._gen_node(None, 't1')
     td._gen_node(n1, 't2')
     assert None == td._gen_node(None, 't1')
예제 #29
0
 def test_save_values(self, pdep_manager):
     t1 = Task('t1', None)
     t1.values = {'x': 5, 'y': 10}
     pdep_manager.save_success(t1)
     assert {'x': 5, 'y': 10} == pdep_manager._get("t1", "_values_:")
예제 #30
0
 def test_skipIgnore(self):
     rep = reporter.ExecutedOnlyReporter(StringIO(), {})
     rep.skip_ignore(Task("t_name", None))
     assert "" == rep.outstream.getvalue()