Revision: 4122
Author: janne.t.harkonen
Date: Fri Sep 24 00:42:29 2010
Log: Test for being able to run keywords from listeners
http://code.google.com/p/robotframework/source/detail?r=4122
Modified:
/trunk/atest/robot/output/listener_interface/listener_methods.txt
/trunk/atest/testresources/listeners/listeners.py
=======================================
--- /trunk/atest/robot/output/listener_interface/listener_methods.txt Fri
Apr 9 10:17:15 2010
+++ /trunk/atest/robot/output/listener_interface/listener_methods.txt Fri
Sep 24 00:42:29 2010
@@ -82,6 +82,12 @@
Run Tests --listener JavaSuiteAndTestCountListener misc/suites/sub*
Stderr Should Be Empty
+Executing Keywords from Listeners
+ Run Tests --listener listeners.KeywordExecutingListener
misc/pass_and_fail.html
+ ${tc}= Get Test Case Pass
+ Check Log Message ${tc.kws[0].msgs[0]} Start Pass
+ Check Log Message ${tc.kws[2].msgs[0]} End Pass
+
*** Keywords ***
Run Tests With Listeners
=======================================
--- /trunk/atest/testresources/listeners/listeners.py Mon May 24 23:12:26
2010
+++ /trunk/atest/testresources/listeners/listeners.py Fri Sep 24 00:42:29
2010
@@ -1,6 +1,8 @@
import os
import tempfile
+from robot.libraries.BuiltIn import BuiltIn
+
class ListenSome:
ROBOT_LISTENER_API_VERSION = '2'
@@ -55,3 +57,28 @@
if not data == self.exp_data[name]:
raise RuntimeError('Wrong tests or suites in %s, %s != %s' %
(name, self.exp_data[name], data))
+
+
+class KeywordExecutingListener(object):
+ ROBOT_LISTENER_API_VERSION = '2'
+
+ def start_suite(self, name, attrs):
+ self._start(name)
+
+ def end_suite(self, name, attrs):
+ self._end(name)
+
+ def start_test(self, name, attrs):
+ self._start(name)
+
+ def end_test(self, name, attrs):
+ self._end(name)
+
+ def _start(self, name):
+ self._run_keyword('Start %s' % name)
+
+ def _end(self, name):
+ self._run_keyword('End %s' % name)
+
+ def _run_keyword(self, arg):
+ BuiltIn().run_keyword('Log', arg)