From e071d36f57dc014a7892fe603cab7e7a36bf348c Mon Sep 17 00:00:00 2001 From: Francis Deslauriers Date: Wed, 31 Jul 2019 09:30:15 -0400 Subject: [PATCH] bt2: stream.py: add `trace` property to _Stream Signed-off-by: Francis Deslauriers Change-Id: I434ebf2dd9c5a29bb8ef15ef7058479eba5ff9f6 Reviewed-on: https://review.lttng.org/c/babeltrace/+/1807 Tested-by: jenkins Reviewed-by: Philippe Proulx --- src/bindings/python/bt2/bt2/stream.py | 7 +++++++ tests/bindings/python/bt2/test_stream.py | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/bindings/python/bt2/bt2/stream.py b/src/bindings/python/bt2/bt2/stream.py index 3a882179..308924e9 100644 --- a/src/bindings/python/bt2/bt2/stream.py +++ b/src/bindings/python/bt2/bt2/stream.py @@ -24,6 +24,7 @@ from bt2 import native_bt, utils from bt2 import object as bt2_object from bt2 import packet as bt2_packet from bt2 import event as bt2_event +from bt2 import trace as bt2_trace from bt2 import stream_class as bt2_stream_class import bt2 @@ -67,3 +68,9 @@ class _Stream(bt2_object._SharedObject): raise bt2._MemoryError('cannot create packet object') return bt2_packet._Packet._create_from_ptr(packet_ptr) + + @property + def trace(self): + trace_ptr = native_bt.stream_borrow_trace(self._ptr) + assert trace_ptr is not None + return bt2_trace._Trace._create_from_ptr_and_get_ref(trace_ptr) diff --git a/tests/bindings/python/bt2/test_stream.py b/tests/bindings/python/bt2/test_stream.py index a49cc2be..7f80f8df 100644 --- a/tests/bindings/python/bt2/test_stream.py +++ b/tests/bindings/python/bt2/test_stream.py @@ -45,6 +45,10 @@ class StreamTestCase(unittest.TestCase): stream = self._tr.create_stream(self._sc) self.assertEqual(stream.cls, self._sc) + def test_trace(self): + stream = self._tr.create_stream(self._sc) + self.assertEqual(stream.trace.addr, self._tr.addr) + def test_invalid_id(self): sc = self._tc.create_stream_class(assigns_automatic_stream_id=False) -- 2.34.1