Esempio n. 1
0
 def run(self, kw, name=None):
     handler = self._context.get_handler(name or kw.name)
     handler.init_keyword(self._context.variables)
     result = KeywordResult(kwname=handler.name or '',
                            libname=handler.libname or '',
                            doc=handler.shortdoc,
                            args=kw.args,
                            assign=self._get_assign(kw.assign),
                            timeout=getattr(handler, 'timeout', ''),
                            type=kw.type,
                            status='NOT_RUN',
                            starttime=get_timestamp())
     self._context.start_keyword(result)
     self._warn_if_deprecated(handler.longname, handler.shortdoc)
     try:
         return_value = self._run(handler, kw)
     except ExecutionFailed as err:
         result.status = self._get_status(err)
         self._end(result, error=err)
         raise
     else:
         if not (self._context.dry_run and handler.type == 'library'):
             result.status = 'PASS'
         self._end(result, return_value)
         return return_value
Esempio n. 2
0
 def run(self, kw, name=None):
     result = KeywordResult(name=self._get_name(kw),
                            type=kw.FOR_LOOP_TYPE,
                            starttime=get_timestamp())
     self._context.start_keyword(result)
     error = self._run_with_error_handling(self._validate_and_run, kw)
     result.status = self._get_status(error)
     result.endtime = get_timestamp()
     self._context.end_keyword(result)
     if error:
         raise error
Esempio n. 3
0
 def _run_one_round(self, data, values):
     name = ', '.join(format_assign_message(var, item)
                      for var, item in zip(data.variables, values))
     result = KeywordResult(name=name,
                            type=data.FOR_ITEM_TYPE,
                            starttime=get_timestamp())
     self._context.start_keyword(result)
     for var, value in zip(data.variables, values):
         self._context.variables[var] = value
     runner = KeywordRunner(self._context, self._templated)
     error = self._run_with_error_handling(runner.run_keywords, data.keywords)
     result.status = self._get_status(error)
     result.endtime = get_timestamp()
     self._context.end_keyword(result)
     return error