X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fbindings%2Fpython%2Fbt2%2Ftest_error.py;h=2a2703b6f591aa4fc46a2795999d67b4581ef9e6;hb=082db6480d4f3686922269ec24c2ecc7b2c28bce;hp=81b237aad0eae8dca4b8fbc6112b2719240d9046;hpb=ce4923b0c7a2de36eba95725334d251e9aa08aad;p=babeltrace.git diff --git a/tests/bindings/python/bt2/test_error.py b/tests/bindings/python/bt2/test_error.py index 81b237aa..2a2703b6 100644 --- a/tests/bindings/python/bt2/test_error.py +++ b/tests/bindings/python/bt2/test_error.py @@ -29,60 +29,54 @@ class FailingIter(bt2._UserMessageIterator): 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): - self._iter = self._in.create_message_iterator() + 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): - self._iter = self._in.create_message_iterator() + 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__) + except bt2._Error as e: 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') class ErrorTestCase(unittest.TestCase): def _run_failing_graph(self, source_cc, sink_cc): - with self.assertRaises(bt2.Error) as ctx: + with self.assertRaises(bt2._Error) as ctx: graph = bt2.Graph() src = graph.add_component(source_cc, 'src') snk = graph.add_component(sink_cc, 'snk') @@ -92,9 +86,9 @@ class ErrorTestCase(unittest.TestCase): return ctx.exception def test_current_thread_error_none(self): - # When a bt2.Error is raised, it steals the current thread's error. + # When a bt2._Error is raised, it steals the current thread's error. # Verify that it is now NULL. - exc = self._run_failing_graph(SourceWithFailingInit, WorkingSink) + self._run_failing_graph(SourceWithFailingInit, WorkingSink) self.assertIsNone(native_bt.current_thread_take_error()) def test_len(self): @@ -110,7 +104,7 @@ class ErrorTestCase(unittest.TestCase): 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) @@ -118,7 +112,7 @@ class ErrorTestCase(unittest.TestCase): 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) @@ -131,34 +125,33 @@ class ErrorTestCase(unittest.TestCase): # # try: # ... - # except bt2.Error as exc: + # except bt2._Error as exc: # raise ValueError('oh noes') from exc # - # We are able to fetch the causes of the original bt2.Error in the + # We are able to fetch the causes of the original bt2._Error in the # exception chain. Also, each exception in the chain should become one # cause once caught. exc = self._run_failing_graph(SourceWithFailingIter, SinkWithExceptionChaining) 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) @@ -168,13 +161,13 @@ class ErrorTestCase(unittest.TestCase): 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) @@ -184,13 +177,13 @@ class ErrorTestCase(unittest.TestCase): 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') + with self.assertRaises(bt2._Error) as ctx: + 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) @@ -202,7 +195,7 @@ class ErrorTestCase(unittest.TestCase): 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)