1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
from vtkmodules.vtkCommonCore import vtkCommand
class vtkErrorObserver(object):
def __init__(self):
self.CallDataType = 'string0'
self.reset()
def __call__(self, caller, event, data):
if event == 'ErrorEvent':
self._error_message = data
elif event == 'WarningEvent':
self._warning_message = data
def _check(self, seen, actual, expect, what):
if seen:
if actual.find(expect) == -1:
msg = 'ERROR: %s message does not contain "%s" got \n"%s"' \
% (what, expect, self.error_message)
raise RuntimeError(msg)
else:
what = what.lower()
msg = 'ERROR: Failed to catch any %s. ' \
'Expected the %s message to contain "%s"' \
% (what, what, expect)
raise RuntimeError(msg)
self.reset()
def check_error(self, expect):
self._check(self.saw_error, self.error_message, expect, 'Error')
def check_warning(self, expect):
self._check(self.saw_warning, self.warning_message, expect, 'Warning')
def reset(self):
self._error_message = None
self._warning_message = None
@property
def saw_error(self):
return self._error_message is not None
@property
def error_message(self):
return self._error_message
@property
def saw_warning(self):
return self._warning_message is not None
@property
def warning_message(self):
return self._warning_message
|