18 from .jsbuildingcontext
import JsBuildingContext
19 from .jsexecutionresult
import JsExecutionResult
24 def __init__(self, log_path=None, split_log=False,
25 prune_input_to_save_memory=False):
27 prune_input_to_save_memory)
35 strings=self.
_context_context.strings,
36 basemillis=self.
_context_context.basemillis,
37 split_results=self.
_context_context.split_results,
38 min_level=self.
_context_context.min_level
46 _statuses = {
'FAIL': 0,
'PASS': 1,
'NOT_RUN': 2}
55 model = (self.
_statuses_statuses[item.status],
58 msg = getattr(item,
'message',
'')
61 elif msg.startswith(
'*HTML*'):
62 msg = self.
_string_string(msg[6:].lstrip(), escape=
False)
68 splitting = self.
_context_context.start_splitting_if_needed(split)
69 model = tuple(self._build_keyword(k)
for k
in kws)
70 return model
if not splitting
else self.
_context_context.end_splitting(model)
76 _Builder.__init__(self, context)
82 with self.
_context_context.prune_input(suite.suites, suite.tests, suite.keywords):
84 return (self.
_string_string(suite.name, attr=
True),
85 self.
_string_string(suite.source),
86 self.
_context_context.relative_source(suite.source),
87 self.
_html_html(suite.doc),
90 tuple(self.
_build_suite_build_suite(s)
for s
in suite.suites),
91 tuple(self.
_build_test_build_test(t)
for t
in suite.tests),
92 tuple(self.
_build_keyword_build_keyword(k, split=
True)
for k
in suite.keywords),
96 for name, value
in suite.metadata.items():
98 yield self.
_html_html(value)
101 stats = suite.statistics
102 return (stats.all.total,
104 stats.critical.total,
105 stats.critical.passed)
111 _Builder.__init__(self, context)
115 with self.
_context_context.prune_input(test.keywords):
116 return (self.
_string_string(test.name, attr=
True),
117 self.
_string_string(test.timeout),
119 self.
_html_html(test.doc),
120 tuple(self.
_string_string(t)
for t
in test.tags),
129 _types = {
'kw': 0,
'setup': 1,
'teardown': 2,
'for': 3,
'foritem': 4}
132 _Builder.__init__(self, context)
137 with self.
_context_context.prune_input(kw.messages, kw.keywords):
138 return (self.
_types_types[kw.type],
139 self.
_string_string(kw.kwname, attr=
True),
140 self.
_string_string(kw.libname, attr=
True),
141 self.
_string_string(kw.timeout),
142 self.
_html_html(kw.doc),
143 self.
_string_string(
', '.join(kw.args)),
144 self.
_string_string(
', '.join(kw.assign)),
145 self.
_string_string(
', '.join(kw.tags)),
154 if msg.level
in (
'WARN',
'ERROR'):
155 self.
_context_context.create_link_target(msg)
156 self.
_context_context.message_level(msg.level)
157 return self.
_build_build(msg)
160 return (self.
_timestamp_timestamp(msg.timestamp),
162 self.
_string_string(msg.html_message, escape=
False))
168 return (self.
_build_stats_build_stats(statistics.total),
170 self.
_build_stats_build_stats(statistics.suite, exclude_empty=
False))
173 return tuple(stat.get_attributes(include_label=
True,
174 include_elapsed=
True,
175 exclude_empty=exclude_empty,
183 _Builder.__init__(self, context)
187 with self.
_context_context.prune_input(errors.messages):
188 return tuple(self.
_build_message_build_message(msg)
for msg
in errors)
194 model = self.
_build_build(msg)
195 link = self.
_context_context.link(msg)
196 return model
if link
is None else model + (link,)
def __init__(self, context)
def __init__(self, log_path=None, split_log=False, prune_input_to_save_memory=False)
def build_from(self, result_from_xml)
def build(self, kw, split=False)
def __init__(self, context)
def _build_stats(self, stats, exclude_empty=True)
def build(self, statistics)
def __init__(self, context)
def _get_statistics(self, suite)
def _yield_metadata(self, suite)
def __init__(self, context)
def _build_keywords(self, kws, split=False)
def _get_status(self, item)
def __init__(self, context)