Example #1
0
 def _create_handlers(self, libinst):
     success, failure, details = self._get_reporting_methods()
     handlers = utils.NormalizedDict(ignore=['_'])
     for name in self._get_handler_names(libinst):
         err_pre = "Adding keyword '%s' to library '%s' failed: " % (
             name, self.name)
         try:
             method = self._get_handler_method(self._libinst, name)
             success("Got handler method '%s'" % (name))
         except TypeError:
             failure(err_pre + 'Not a method or function')
             continue
         except:
             err_msg, err_details = utils.get_error_details()
             failure(err_pre + 'Getting handler method failed: ' + err_msg)
             details('Details:\n%s' % err_details)
             continue
         try:
             handlers[name] = self._create_handler(name, method)
             success("Created keyword '%s'" % handlers[name].name)
         except:
             err_msg, err_details = utils.get_error_details()
             failure(err_pre + 'Creating keyword failed: ' + err_msg)
             details('Details:\n%s' % err_details)
     return handlers
Example #2
0
 def register_run_keyword(self, libname, keyword, args_to_process=None):
     if args_to_process is None:
         args_to_process = self._get_args_from_method(keyword)
         keyword = keyword.__name__
     if libname not in self._libs:
         self._libs[libname] = utils.NormalizedDict(ignore=['_'])
     self._libs[libname][keyword] = int(args_to_process)
Example #3
0
 def __init__(self, keywords):
     self._targets = utils.NormalizedDict({
         'introduction': 'introduction',
         'library introduction': 'introduction',
         'importing': 'importing',
         'library importing': 'importing'
     })
     for kw in keywords:
         self._targets[kw.name] = kw.name
Example #4
0
 def _get_setters(self):
     return utils.NormalizedDict({'Documentation': self.doc.populate,
                                  'Document': self.doc.populate,
                                  'Template': self.template.populate,
                                  'Setup': self.setup.populate,
                                  'Precondition': self.setup.populate,
                                  'Teardown': self.teardown.populate,
                                  'Postcondition': self.teardown.populate,
                                  'Tags': self.tags.populate,
                                  'Timeout': self.timeout.populate})
Example #5
0
 def _copy_library(self, lib, newname):
     libcopy = copy.copy(lib)
     libcopy.name = newname
     libcopy.init_scope_handling()
     libcopy.handlers = utils.NormalizedDict(ignore=['_'])
     for handler in lib.handlers.values():
         handcopy = copy.copy(handler)
         handcopy.library = libcopy
         libcopy.handlers[handler.name] = handcopy
     return libcopy
Example #6
0
 def _create_handlers(self, libcode):
     handlers = utils.NormalizedDict(ignore=['_'])
     for name in self._get_handler_names(libcode):
         method = self._try_to_get_handler_method(libcode, name)
         if method:
             handler = self._try_to_create_handler(name, method)
             if handler:
                 handlers[name] = handler
                 self._log_success("Created keyword '%s'" % handler.name)
     return handlers
Example #7
0
 def __init__(self, name, source=None, parent=None):
     _TestAndSuiteHelper.__init__(self, name, parent)
     self.source = source is not None and utils.normpath(source) or None
     self.metadata = utils.NormalizedDict()
     self.suites = []
     self.tests = []
     self.critical = _Critical()
     self.critical_stats = Stat()
     self.all_stats = Stat()
     if parent:
         parent.suites.append(self)
Example #8
0
 def __init__(self,
              include=None,
              exclude=None,
              tag_stat_combine=None,
              docs=None,
              links=None):
     self.stats = utils.NormalizedDict()
     self._include = include or []
     self._exclude = exclude or []
     self._patterns_and_names = self._get_patterns_and_names(
         tag_stat_combine)
     self._taginfo = TagStatInfo(docs or [], links or [])
 def __init__(self, user_keywords, path=None):
     self.name = self._get_name_for_resource_file(path)
     self.handlers = utils.NormalizedDict(ignore=['_'])
     self.embedded_arg_handlers = []
     for kw in user_keywords:
         try:
             handler = EmbeddedArgsTemplate(kw, self.name)
         except DataError, err:
             LOGGER.error("Creating user keyword '%s' failed: %s"
                          % (kw.name, unicode(err)))
             continue
         except TypeError:
             handler = UserKeywordHandler(kw, self.name)
Example #10
0
 def __init__(self, name, source=None, parent=None):
     _TestAndSuiteHelper.__init__(self, parent)
     self._name = name
     self.source = utils.abspath(source) if source else None
     self._id = None
     self.metadata = utils.NormalizedDict()
     self.suites = []
     self.tests = []
     self.critical = _Critical()
     self.critical_stats = Stat()
     self.all_stats = Stat()
     if parent:
         parent.suites.append(self)
Example #11
0
 def _get_tables(self):
     if not self._tables:
         self._tables = utils.NormalizedDict({'Setting': self.setting_table,
                                              'Settings': self.setting_table,
                                              'Metadata': self.setting_table,
                                              'Variable': self.variable_table,
                                              'Variables': self.variable_table,
                                              'Keyword': self.keyword_table,
                                              'Keywords': self.keyword_table,
                                              'User Keyword': self.keyword_table,
                                              'User Keywords': self.keyword_table,
                                              'Test Case': self.testcase_table,
                                              'Test Cases': self.testcase_table})
     return self._tables
Example #12
0
 def _create_handlers(self, libinst):
     #if self.name == 'RemoteB': pdb.set_trace()
     success, failure, details = self._get_reporting_methods()
     handlers = utils.NormalizedDict(ignore=['_'])
     for name in self._get_handler_names(libinst):
         err_pre = "Adding keyword '%s' to library '%s' failed: " % (
             name, self.name)
         try:
             method = self._get_handler_method(libinst, name)
             success("Got handler method '%s'" % (name))
         except TypeError, err:
             failure(err_pre + utils.unic(err))
             continue
         except:
Example #13
0
 def _get_targets(self, keywords, introduction, robot_format):
     targets = utils.NormalizedDict({
         'introduction': 'Introduction',
         'library introduction': 'Introduction',
         'importing': 'Importing',
         'library importing': 'Importing',
         'shortcuts': 'Shortcuts',
         'keywords': 'Keywords'
     })
     for kw in keywords:
         targets[kw.name] = kw.name
     if robot_format:
         for header in self._yield_header_targets(introduction):
             targets[header] = header
     return targets
Example #14
0
 def __init__(self, user_keywords, path=None):
     self.name = self._get_name_for_resource_file(path)
     self.handlers = utils.NormalizedDict(ignore=['_'])
     self.embedded_arg_handlers = []
     for user_keyword in user_keywords:
         try:
             handler = EmbeddedArgsTemplate(user_keyword, self.name)
         except TypeError:
             handler = UserKeywordHandler(user_keyword, self.name)
         else:
             self.embedded_arg_handlers.append(handler)
         if handler.name in self.handlers:
             err = "Keyword '%s' defined multiple times" % handler.name
             handler = UserErrorHandler(handler.name, err)
         self.handlers[handler.name] = handler
Example #15
0
 def __init__(self, user_keywords, path=None):
     self.name = self._get_name_for_resource_file(path)
     self.handlers = utils.NormalizedDict(ignore=['_'])
     self.embedded_arg_handlers = []
     for kw in user_keywords:
         try:
             handler = self._create_handler(kw)
         except DataError as err:
             LOGGER.error("Creating user keyword '%s' failed: %s" %
                          (kw.name, unicode(err)))
             continue
         if handler.name in self.handlers:
             error = "Keyword '%s' defined multiple times." % handler.name
             handler = UserErrorHandler(handler.name, error)
         self.handlers[handler.name] = handler
Example #16
0
 def _get_setters(self):
     return utils.NormalizedDict({'Documentation': self.doc.populate,
                                  'Document': self.doc.populate,
                                  'Suite Setup': self.suite_setup.populate,
                                  'Suite Precondition': self.suite_setup.populate,
                                  'Suite Teardown': self.suite_teardown.populate,
                                  'Suite Postcondition': self.suite_teardown.populate,
                                  'Test Setup': self.test_setup.populate,
                                  'Test Precondition': self.test_setup.populate,
                                  'Test Teardown': self.test_teardown.populate,
                                  'Test Postcondition': self.test_teardown.populate,
                                  'Force Tags': self.force_tags.populate,
                                  'Library': self._get_adder(self.add_library),
                                  'Resource': self._get_adder(self.add_resource),
                                  'Variables': self._get_adder(self.add_variables),
                                  'Metadata': self._get_adder(self.add_metadata)})
Example #17
0
 def _get_setters(self):
     return utils.NormalizedDict({'Documentation': self.doc.populate,
                                  'Document': self.doc.populate,
                                  'Library': self._get_adder(self.add_library),
                                  'Resource': self._get_adder(self.add_resource),
                                  'Variables': self._get_adder(self.add_variables)})
Example #18
0
 def __init__(self, parent=None, source=None):
     self.parent = parent
     self.source = utils.abspath(source) if source else None
     self.children = []
     self._tables = utils.NormalizedDict(self._get_tables())
Example #19
0
 def _get_metadata(self, metadata):
     meta = utils.NormalizedDict()
     for item in metadata:
         meta[item.name] = item.value
     return meta
Example #20
0
 def _get_setters(self):
     return utils.NormalizedDict({'Documentation': self.doc.populate,
                                  'Document': self.doc.populate,
                                  'Arguments': self.args.populate,
                                  'Return': self.return_.populate,
                                  'Timeout': self.timeout.populate})