class SourceWithFailingIter(
bt2._UserSourceComponent, message_iterator_class=FailingIter
):
- def __init__(self, params):
+ def __init__(self, params, obj):
self._add_output_port('out')
class SourceWithFailingInit(
bt2._UserSourceComponent, message_iterator_class=FailingIter
):
- def __init__(self, params):
+ def __init__(self, params, obj):
raise ValueError('Source is failing')
class WorkingSink(bt2._UserSinkComponent):
- def __init__(self, params):
+ def __init__(self, params, obj):
self._in = self._add_input_port('in')
- def _graph_is_configured(self):
+ def _user_graph_is_configured(self):
self._iter = self._create_input_port_message_iterator(self._in)
- def _consume(self):
+ def _user_consume(self):
next(self._iter)
class SinkWithExceptionChaining(bt2._UserSinkComponent):
- def __init__(self, params):
+ def __init__(self, params, obj):
self._in = self._add_input_port('in')
- def _graph_is_configured(self):
+ def _user_graph_is_configured(self):
self._iter = self._create_input_port_message_iterator(self._in)
- def _consume(self):
+ def _user_consume(self):
try:
- print(self._iter.__next__)
next(self._iter)
except bt2._Error as e:
- print(hex(id(e)))
- print(e.__dict__)
raise ValueError('oops') from e
class SinkWithFailingQuery(bt2._UserSinkComponent):
- def _graph_is_configured(self):
- pass
-
- def _consume(self):
+ def _user_consume(self):
pass
@staticmethod
- def _query(executor, obj, params, log_level):
+ def _user_query(priv_executor, obj, params, method_obj):
raise ValueError('Query is failing')
for c in exc:
# Each cause is an instance of _ErrorCause (including subclasses).
- self.assertIsInstance(c, bt2.error._ErrorCause)
+ self.assertIsInstance(c, bt2._ErrorCause)
def test_getitem(self):
exc = self._run_failing_graph(SourceWithFailingIter, WorkingSink)
for i in range(len(exc)):
c = exc[i]
# Each cause is an instance of _ErrorCause (including subclasses).
- self.assertIsInstance(c, bt2.error._ErrorCause)
+ self.assertIsInstance(c, bt2._ErrorCause)
def test_getitem_indexerror(self):
exc = self._run_failing_graph(SourceWithFailingIter, WorkingSink)
self.assertEqual(len(exc), 5)
- self.assertIsInstance(exc[0], bt2.error._MessageIteratorErrorCause)
+ self.assertIsInstance(exc[0], bt2._MessageIteratorErrorCause)
self.assertEqual(exc[0].component_class_name, 'SourceWithFailingIter')
self.assertIn('ValueError: User message iterator is failing', exc[0].message)
- self.assertIsInstance(exc[1], bt2.error._ErrorCause)
+ self.assertIsInstance(exc[1], bt2._ErrorCause)
- self.assertIsInstance(exc[2], bt2.error._ComponentErrorCause)
+ self.assertIsInstance(exc[2], bt2._ComponentErrorCause)
self.assertEqual(exc[2].component_class_name, 'SinkWithExceptionChaining')
self.assertIn(
- 'bt2.error._Error: unexpected error: cannot advance the message iterator',
- exc[2].message,
+ 'unexpected error: cannot advance the message iterator', exc[2].message
)
- self.assertIsInstance(exc[3], bt2.error._ComponentErrorCause)
+ self.assertIsInstance(exc[3], bt2._ComponentErrorCause)
self.assertEqual(exc[3].component_class_name, 'SinkWithExceptionChaining')
self.assertIn('ValueError: oops', exc[3].message)
- self.assertIsInstance(exc[4], bt2.error._ErrorCause)
+ self.assertIsInstance(exc[4], bt2._ErrorCause)
def _common_cause_tests(self, cause):
self.assertIsInstance(cause.module_name, str)
def test_unknown_error_cause(self):
exc = self._run_failing_graph(SourceWithFailingIter, SinkWithExceptionChaining)
cause = exc[-1]
- self.assertIs(type(cause), bt2.error._ErrorCause)
+ self.assertIs(type(cause), bt2._ErrorCause)
self._common_cause_tests(cause)
def test_component_error_cause(self):
exc = self._run_failing_graph(SourceWithFailingInit, SinkWithExceptionChaining)
cause = exc[0]
- self.assertIs(type(cause), bt2.error._ComponentErrorCause)
+ self.assertIs(type(cause), bt2._ComponentErrorCause)
self._common_cause_tests(cause)
self.assertIn('Source is failing', cause.message)
self.assertIsNone(cause.plugin_name)
def test_component_class_error_cause(self):
- q = bt2.QueryExecutor()
+ q = bt2.QueryExecutor(SinkWithFailingQuery, 'hello')
with self.assertRaises(bt2._Error) as ctx:
- q.query(SinkWithFailingQuery, 'hello')
+ q.query()
cause = ctx.exception[0]
- self.assertIs(type(cause), bt2.error._ComponentClassErrorCause)
+ self.assertIs(type(cause), bt2._ComponentClassErrorCause)
self._common_cause_tests(cause)
self.assertIn('Query is failing', cause.message)
def test_message_iterator_error_cause(self):
exc = self._run_failing_graph(SourceWithFailingIter, SinkWithExceptionChaining)
cause = exc[0]
- self.assertIs(type(cause), bt2.error._MessageIteratorErrorCause)
+ self.assertIs(type(cause), bt2._MessageIteratorErrorCause)
self._common_cause_tests(cause)
self.assertIn('User message iterator is failing', cause.message)