def testTupleActionMoreThanThreeElements(self): def dumb(): return expected = "Task 'stub': invalid 'actions' tuple length" with pytest.raises(action.InvalidTask, match=expected): action.create_action((dumb, [1, 2], { 'a': 5 }, 'oo'), self.mytask, 'actions')
def testBaseAction(self): class Sample(action.BaseAction): pass my_action = action.create_action(Sample(), self.mytask) assert isinstance(my_action, Sample) assert self.mytask == my_action.task
def testTupleAction(self): def dumb(): return my_action = action.create_action((dumb, [1, 2], { 'a': 5 }), self.mytask, 'actions') assert isinstance(my_action, action.PythonAction)
def test_invalid_action_task_param_name(self): expected = "Task 'stub': invalid 'clean' type. got: True" with pytest.raises(action.InvalidTask, match=expected): action.create_action(True, self.mytask, 'clean')
def testInvalidActionObject(self): expected = "Task 'stub': invalid 'actions' type. got: <" with pytest.raises(action.InvalidTask, match=expected): action.create_action(self, self.mytask, 'actions')
def testMethodAction(self): def dumb(): return my_action = action.create_action(dumb, self.mytask, 'actions') assert isinstance(my_action, action.PythonAction)
def testListStringAction(self): my_action = action.create_action(["xpto", 14, 7], self.mytask, 'actions') assert isinstance(my_action, action.CmdAction) assert my_action.shell == False
def testStringAction(self): my_action = action.create_action("xpto 14 7", self.mytask, 'actions') assert isinstance(my_action, action.CmdAction) assert my_action.shell == True
def __init__(self, name, actions, file_dep=(), targets=(), task_dep=(), result_dep=(), uptodate=(), calc_dep=(), setup=(), clean=(), teardown=(), is_subtask=False, doc=None, params=(), verbosity=None, title=None, getargs=None): """sanity checks and initialization @param params: (list of option parameters) see cmdparse.Command.__init__ """ getargs = getargs or {} #default self.check_attr(name, 'name', name, self.valid_attr['name']) self.check_attr(name, 'actions', actions, self.valid_attr['actions']) self.check_attr(name, 'file_dep', file_dep, self.valid_attr['file_dep']) self.check_attr(name, 'task_dep', task_dep, self.valid_attr['task_dep']) self.check_attr(name, 'result_dep', result_dep, self.valid_attr['result_dep']) self.check_attr(name, 'uptodate', uptodate, self.valid_attr['uptodate']) self.check_attr(name, 'calc_dep', calc_dep, self.valid_attr['calc_dep']) self.check_attr(name, 'targets', targets, self.valid_attr['targets']) self.check_attr(name, 'setup', setup, self.valid_attr['setup']) self.check_attr(name, 'clean', clean, self.valid_attr['clean']) self.check_attr(name, 'teardown', teardown, self.valid_attr['teardown']) self.check_attr(name, 'doc', doc, self.valid_attr['doc']) self.check_attr(name, 'params', params, self.valid_attr['params']) self.check_attr(name, 'verbosity', verbosity, self.valid_attr['verbosity']) self.check_attr(name, 'getargs', getargs, self.valid_attr['getargs']) self.check_attr(name, 'title', title, self.valid_attr['title']) self.name = name self.taskcmd = cmdparse.TaskOption(name, params, None, None) self.options = None self.getargs = getargs self.setup_tasks = list(setup) self._init_deps(file_dep, task_dep, result_dep, calc_dep) self.targets = targets self.is_subtask = is_subtask self.result = None self.values = {} self.verbosity = verbosity self.custom_title = title # actions self._action_instances = None if actions is None: self._actions = [] else: self._actions = actions[:] # uptodate self.uptodate = self._init_uptodate(uptodate) if uptodate else [] # clean if clean is True: self._remove_targets = True self.clean_actions = () else: self._remove_targets = False self.clean_actions = [create_action(a, self) for a in clean] self.teardown = [create_action(a, self) for a in teardown] self.doc = self._init_doc(doc) self.run_status = None
def testMethodAction(self): def dumb(): return my_action = action.create_action(dumb, self.mytask) assert isinstance(my_action, action.PythonAction)
def testTupleActionMoreThanThreeElements(self): def dumb(): return expected = "Task 'stub': invalid 'actions' tuple length" with pytest.raises(action.InvalidTask, match=expected): action.create_action((dumb,[1,2],{'a':5},'oo'), self.mytask, 'actions')
def __init__(self, name, actions, file_dep=(), targets=(), task_dep=(), result_dep=(), uptodate=(), run_once=False, calc_dep=(), setup=(), clean=(), teardown=(), is_subtask=False, doc=None, params=(), verbosity=None, title=None, getargs=None): """sanity checks and initialization @param params: (list of option parameters) see cmdparse.Command.__init__ """ getargs = getargs or {} #default # check task attributes input my_locals = locals() for attr, valid_list in self.valid_attr.iteritems(): self.check_attr_input(name, attr, my_locals[attr], valid_list) self.name = name self.targets = targets self.uptodate = list(uptodate) self.run_once = run_once self.is_subtask = is_subtask self.result = None self.values = {} self.verbosity = verbosity self.custom_title = title self.getargs = getargs self.setup_tasks = list(setup) # options self.taskcmd = cmdparse.TaskOption(name, params, None, None) # put default values on options. this will be overwritten, if params # options were passed on the command line. self.options = self.taskcmd.parse('')[0] # ignore positional parameters # actions if actions is None: self.actions = [] else: self.actions = [create_action(a, self) for a in actions] # clean if clean is True: self._remove_targets = True self.clean_actions = () else: self._remove_targets = False self.clean_actions = [create_action(a, self) for a in clean] # teardown self.teardown = [create_action(a, self) for a in teardown] # dependencies self.dep_changed = None # file_dep self.file_dep = set() self._expand_file_dep(file_dep) # task_dep self.task_dep = [] self.wild_dep = [] self._expand_task_dep(task_dep) # result_dep self.result_dep = [] self._expand_result_dep(result_dep) # calc_dep self.calc_dep = [] self.calc_dep_stack = [] self._expand_calc_dep(calc_dep) self._init_getargs() self.doc = self._init_doc(doc) self.run_status = None
def testStringAction(self): my_action = action.create_action("xpto 14 7", self.mytask) assert isinstance(my_action, action.CmdAction) assert my_action.shell == True
def testListStringAction(self): my_action = action.create_action(["xpto", 14, 7], self.mytask) assert isinstance(my_action, action.CmdAction) assert my_action.shell == False
def testStringAction(self): my_action = action.create_action("xpto 14 7", self.mytask) assert isinstance(my_action, action.CmdAction)
def testTupleAction(self): def dumb(): return my_action = action.create_action((dumb,[1,2],{'a':5}), self.mytask) assert isinstance(my_action, action.PythonAction)
def actions(self): """lazy creation of action instances""" self._init_options() if self._action_instances is None: self._action_instances = [create_action(a, self) for a in self._actions] return self._action_instances