19 from .visitor
import SuiteVisitor
24 def __init__(self, name=None, doc=None, metadata=None, set_tags=None,
25 include_tags=None, exclude_tags=None, include_suites=None,
26 include_tests=None, empty_suite_ok=False):
41 return [t
for t
in self.
set_tagsset_tags
if not t.startswith(
'-')]
44 remove_tags = property
47 return [t[1:]
for t
in self.
set_tagsset_tags
if t.startswith(
'-')]
56 suite.name = self.
namename
58 suite.doc = self.
docdoc
60 suite.metadata.update(self.
metadatametadata)
70 parts = [
'tests' if not rpa
else 'tasks',
73 raise DataError(
"Suite '%s' contains no %s."
74 % (suite,
' '.join(p
for p
in parts
if p)))
78 for explanation, selector
in [(
'matching tags', self.
include_tagsinclude_tags),
86 if len(selector) == 1
and explanation[-1] ==
's':
87 explanation = explanation[:-1]
88 return '%s %s' % (explanation,
seq2str(selector, lastsep=
' or '))
Used when variable does not exist.
Interface to ease traversing through a test suite structure.
def seq2str(sequence, quote="'", sep=', ', lastsep=' and ')
Returns sequence in format ‘'item 1’, 'item 2' and 'item 3'`.