Revision: 2513
Author: pekka.klarck
Date: Tue Feb 23 04:31:44 2010
Log: Set `timeouted` attribute to ExecutionFailed to make it possible to
handle them separately.
http://code.google.com/p/robotframework/source/detail?r=2513
Modified:
/trunk/src/robot/errors.py
/trunk/src/robot/running/keywords.py
=======================================
--- /trunk/src/robot/errors.py Sun Apr 19 13:26:54 2009
+++ /trunk/src/robot/errors.py Tue Feb 23 04:31:44 2010
@@ -41,6 +41,9 @@
class ExecutionFailed(RobotError):
"""Used for cummunicating failures in test execution"""
+ def __init__(self, message, timeouted=False):
+ RobotError.__init__(self, message)
+ self.timeouted = timeouted
class TimeoutError(RobotError):
"""Used when test execution is timed out"""
=======================================
--- /trunk/src/robot/running/keywords.py Sun Apr 19 13:26:54 2009
+++ /trunk/src/robot/running/keywords.py Tue Feb 23 04:31:44 2010
@@ -16,7 +16,8 @@
import time
from robot import utils
-from robot.errors import FrameworkError, ExecutionFailed, DataError
+from robot.errors import FrameworkError, ExecutionFailed, DataError, \
+ TimeoutError
from robot.common import BaseKeyword
from robot.output import LOGGER
from robot.variables import is_list_var
@@ -74,12 +75,17 @@
return handler.run(output, namespace, self.args[:])
except ExecutionFailed:
raise
+ except TimeoutError:
+ self._report_failure(output, timeouted=True)
except:
- msg, details = utils.get_error_details()
- output.fail(msg)
- if details:
- output.debug(details)
- raise ExecutionFailed(utils.cut_long_message(msg))
+ self._report_failure(output)
+
+ def _report_failure(self, output, timeouted=False):
+ msg, details = utils.get_error_details()
+ output.fail(msg)
+ if details:
+ output.debug(details)
+ raise ExecutionFailed(utils.cut_long_message(msg), timeouted)
class SetKeyword(Keyword):