35 def __init__(self, failure_mode=False, error_mode=False,
36 skip_teardown_mode=False):
45 if isinstance(failure, ExecutionFailed)
and failure.exit:
46 self.
fatalfatal =
True
52 self.
errorerror =
True
55 teardown_allowed = property
70 self.
exitexit = parent.exit
if parent
else Exit(*exit_modes)
73 parent.children.append(self)
76 if failure
and not isinstance(failure, PassExecution):
78 self.
exitexit.failure_occurred(failure)
82 if failure
and not isinstance(failure, PassExecution):
84 self.
exitexit.failure_occurred(failure)
87 self.
exitexit.failure_occurred(critical=
True)
93 teardown_allowed = property
102 return bool(self.
parentparent
and self.
parentparent.failures
or
125 raise NotImplementedError
133 def __init__(self, parent=None, exit_on_failure_mode=False,
134 exit_on_error_mode=False,
135 skip_teardown_on_exit_mode=False):
136 _ExecutionStatus.__init__(self, parent, exit_on_failure_mode,
138 skip_teardown_on_exit_mode)
147 _ExecutionStatus.__init__(self, parent)
160 setup_message = NotImplemented
161 teardown_message = NotImplemented
162 also_teardown_message = NotImplemented
178 return self.
failurefailure.test
or ''
181 if message.startswith(
'*HTML*'):
182 prefix =
'*HTML* ' + prefix
183 message = message[6:].lstrip()
184 return prefix % message
187 if not self.
failurefailure.teardown:
195 teardown = self.
failurefailure.teardown
196 if teardown.startswith(
'*HTML*'):
197 teardown = teardown[6:].lstrip()
198 if not message.startswith(
'*HTML*'):
200 elif message.startswith(
'*HTML*'):
206 setup_message =
'Setup failed:\n%s'
207 teardown_message =
'Teardown failed:\n%s'
208 also_teardown_message =
'%s\n\nAlso teardown failed:\n%s'
209 exit_on_fatal_message =
'Test execution stopped due to a fatal error.'
210 exit_on_failure_message = \
211 'Critical failure occurred and exit-on-failure mode is in use.'
212 exit_on_error_message =
'Error occurred and exit-on-error mode is in use.'
215 _Message.__init__(self, status)
222 message = super(TestMessage, self).message
225 if self.
exitexit.failure:
227 if self.
exitexit.fatal:
229 if self.
exitexit.error:
235 setup_message =
'Suite setup failed:\n%s'
236 teardown_message =
'Suite teardown failed:\n%s'
237 also_teardown_message =
'%s\n\nAlso suite teardown failed:\n%s'
241 setup_message =
'Parent suite setup failed:\n%s'
242 teardown_message =
'Parent suite teardown failed:\n%s'
243 also_teardown_message =
'%s\n\nAlso parent suite teardown failed:\n%s'
246 while status.parent
and status.parent.failures:
247 status = status.parent
248 SuiteMessage.__init__(self, status)
def __init__(self, failure_mode=False, error_mode=False, skip_teardown_mode=False)
def failure_occurred(self, failure=None, critical=False)
def __init__(self, status)
def __init__(self, parent=None, exit_on_failure_mode=False, exit_on_error_mode=False, skip_teardown_on_exit_mode=False)
string exit_on_error_message
def __init__(self, status)
string exit_on_fatal_message
def test_failed(self, failure)
def __init__(self, parent, critical)
def _parent_failures(self)
def __init__(self, parent=None, *exit_modes)
def _parent_message(self)
def setup_executed(self, failure=None)
def teardown_executed(self, failure=None)
def critical_failure_occurred(self)
def _format_message_with_teardown_message(self, message)
def _format_setup_or_teardown_message(self, prefix, message)
def _get_message_after_teardown(self, message)
def _get_message_before_teardown(self)
def __init__(self, status)
def html_escape(text, linkify=True)