def run(self, kw, context): assignment = VariableAssignment(kw.assign) variables = context.variables result = None status_reporter = None if sys.version_info[0] < 3: sys.exc_clear() try: args = self._resolve_arguments(kw.args, variables) with assignment.assigner(context) as assigner: with context.user_keyword: self._set_arguments(args, context) result = self._get_result(kw, assignment, context.variables) status_reporter = self.get_status_reporter(context, result) return_value = self._run(context, args, result) assigner.assign(return_value) return return_value except: if not result: result = self._get_result(kw, assignment, context.variables) if not status_reporter: status_reporter = self.get_status_reporter(context, result) raise finally: if status_reporter: status_reporter.__exit__(*sys.exc_info())
def run(self, kw, context): assignment = VariableAssignment(kw.assign) with StatusReporter(context, self._get_result(kw, assignment)): with assignment.assigner(context) as assigner: return_value = self._run(context, kw.args) assigner.assign(return_value) return return_value
def run(self, kw, context, run=True): result = KeywordResult(kwname=self.name, libname=self.libname, args=kw.args, assign=tuple(VariableAssignment(kw.assign)), type=kw.type) with StatusReporter(kw, result, context, run): if run: raise self.error
def run(self, kw, context, run=True): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment, context.variables) with StatusReporter(kw, result, context, run): with assignment.assigner(context) as assigner: if run: return_value = self._run(context, kw.args, result) assigner.assign(return_value) return return_value
def run(self, kw, context, run=True): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment, context.variables) with StatusReporter(kw, result, context, run): if self.private: context.warn_on_invalid_private_call(self._handler) with assignment.assigner(context) as assigner: if run: return_value = self._run(context, kw.args, result) assigner.assign(return_value) return return_value
def dry_run(self, kw, context): assignment = VariableAssignment(kw.assign) result = self._get_result(kw, assignment) with StatusReporter(kw, result, context, run=False): assignment.validate_assignment() self._dry_run(context, kw.args)
def _verify_invalid(self, assign): assert_raises(DataError, VariableAssignment(assign).validate_assignment)
def _verify_valid(self, assign): assignment = VariableAssignment(assign) assignment.validate_assignment() expected = [a.rstrip('= ') for a in assign] assert_equal(assignment.assignment, expected)