Fix: bt2: pass _TraceClassConst to destruction listeners
[babeltrace.git] / tests / bindings / python / bt2 / test_trace_class.py
index f9a21a0ffb276c2ac94a8a64bf88280ce34e54c2..fd5f8deb26b1a1f75691bbb14176103e7335a967 100644 (file)
@@ -4,14 +4,15 @@
 #
 
 import unittest
+
+from bt2 import utils as bt2_utils
+from bt2 import trace_class as bt2_trace_class
+from bt2 import stream_class as bt2_stream_class
 from utils import (
     run_in_component_init,
     get_default_trace_class,
     get_const_stream_beginning_message,
 )
-from bt2 import stream_class as bt2_stream_class
-from bt2 import trace_class as bt2_trace_class
-from bt2 import utils as bt2_utils
 
 
 class TraceClassTestCase(unittest.TestCase):
@@ -171,9 +172,13 @@ class TraceClassTestCase(unittest.TestCase):
 
     def test_destruction_listener(self):
         def on_trace_class_destruction(trace_class):
+            nonlocal type_of_passed_trace_class
+            type_of_passed_trace_class = type(trace_class)
+
             nonlocal num_destruct_calls
             num_destruct_calls += 1
 
+        type_of_passed_trace_class = None
         num_destruct_calls = 0
 
         trace_class = get_default_trace_class()
@@ -190,6 +195,7 @@ class TraceClassTestCase(unittest.TestCase):
         del trace_class
 
         self.assertEqual(num_destruct_calls, 1)
+        self.assertIs(type_of_passed_trace_class, bt2_trace_class._TraceClassConst)
 
     def test_remove_destruction_listener_wrong_type(self):
         trace_class = get_default_trace_class()
This page took 0.023272 seconds and 4 git commands to generate.