X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=tests%2Fbindings%2Fpython%2Fbt2%2Ftest_trace_class.py;h=d8f60143fb01c18e3f65ebc98d833c8f4e59b2cb;hb=282a37f5559354b6029da95ed03dd23a42fd59db;hp=cf286658f4938c5c22ed2c8b47662e97ba73b56d;hpb=cfbd7cf3bde05e8a6606478889dcd663604ef7b5;p=babeltrace.git diff --git a/tests/bindings/python/bt2/test_trace_class.py b/tests/bindings/python/bt2/test_trace_class.py index cf286658..d8f60143 100644 --- a/tests/bindings/python/bt2/test_trace_class.py +++ b/tests/bindings/python/bt2/test_trace_class.py @@ -17,11 +17,21 @@ # import unittest -import bt2 from utils import run_in_component_init, get_default_trace_class class TraceClassTestCase(unittest.TestCase): + def assertRaisesInComponentInit(self, expected_exc_type, user_code): + def f(comp_self): + try: + user_code(comp_self) + except Exception as exc: + return type(exc) + + exc_type = run_in_component_init(f) + self.assertIsNotNone(exc_type) + self.assertEqual(exc_type, expected_exc_type) + def test_create_default(self): def f(comp_self): return comp_self._create_trace_class() @@ -30,6 +40,26 @@ class TraceClassTestCase(unittest.TestCase): self.assertEqual(len(tc), 0) self.assertTrue(tc.assigns_automatic_stream_class_id) + self.assertEqual(len(tc.user_attributes), 0) + + def test_create_user_attributes(self): + def f(comp_self): + return comp_self._create_trace_class(user_attributes={'salut': 23}) + + tc = run_in_component_init(f) + self.assertEqual(tc.user_attributes, {'salut': 23}) + + def test_create_invalid_user_attributes(self): + def f(comp_self): + return comp_self._create_trace_class(user_attributes=object()) + + self.assertRaisesInComponentInit(TypeError, f) + + def test_create_invalid_user_attributes_value_type(self): + def f(comp_self): + return comp_self._create_trace_class(user_attributes=23) + + self.assertRaisesInComponentInit(TypeError, f) def test_automatic_stream_class_id(self): def f(comp_self): @@ -116,8 +146,6 @@ class TraceClassTestCase(unittest.TestCase): tc, sc1, sc2, sc3 = self._create_trace_class_with_some_stream_classes() for sc_id, stream_class in tc.items(): - self.assertIsInstance(stream_class, bt2.stream_class._StreamClass) - if sc_id == 12: self.assertEqual(stream_class.addr, sc1.addr) elif sc_id == 54: