Skip to content

Commit 201ff56

Browse files
committed
drafting
1 parent 5515263 commit 201ff56

File tree

6 files changed

+18
-4
lines changed

6 files changed

+18
-4
lines changed

atest/testdata/misc/pass_and_fail.robot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Pass
1313
[Tags] pass
1414
# I am a comment. Please ignore me.
1515
My Keyword Pass
16+
Log hello
1617

1718
Fail
1819
[Documentation] FAIL Expected failure

klisgenes.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
ROBOT_LISTENER_API_VERSION=3
2+
3+
def start_suite(data, result):
4+
print(repr(data))
5+
6+
def start_keyword(data, result):
7+
data.name = "Log many"
8+
9+
def end_keyword(data, result):
10+
print(f"YEAH 2 {data.name}")

src/robot/output/listeners.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ def __init__(self, listener, method_names, prefix=None):
124124
self.name = name
125125
self.version = self._get_version(listener)
126126
if self.version == 3:
127-
self.start_keyword = self.end_keyword = None
128127
self.library_import = self.resource_import = self.variables_import = None
129128

130129
def _import_listener(self, listener):

src/robot/running/librarykeywordrunner.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ def longname(self):
5151

5252
def run(self, kw, context):
5353
assignment = VariableAssignment(kw.assign)
54-
with StatusReporter(context, self._get_result(kw, assignment)):
54+
from robot.running.runner import ModelCombiner
55+
with StatusReporter(context, ModelCombiner(data=kw, result=self._get_result(kw, assignment))):
5556
with assignment.assigner(context) as assigner:
5657
return_value = self._run(context, kw.args)
5758
assigner.assign(return_value)

src/robot/running/usererrorhandler.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ def run(self, kw, context):
6464
args=kw.args,
6565
assign=kw.assign,
6666
type=kw.type)
67-
with StatusReporter(context, result):
67+
from .runner import ModelCombiner
68+
with StatusReporter(context, ModelCombiner(kw, result)):
6869
raise self.error
6970

7071
dry_run = run

src/robot/running/userkeywordrunner.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,11 @@ def arguments(self):
4949
return self._handler.arguments
5050

5151
def run(self, kw, context):
52+
from .runner import ModelCombiner
5253
assignment = VariableAssignment(kw.assign)
5354
result = self._get_result(kw, assignment, context.variables)
54-
with StatusReporter(context, result):
55+
mc = ModelCombiner(data=kw, result=result)
56+
with StatusReporter(context, mc):
5557
with assignment.assigner(context) as assigner:
5658
return_value = self._run(context, kw.args, result)
5759
assigner.assign(return_value)

0 commit comments

Comments
 (0)