3 from babeltrace
import *
5 class TestBabeltracePythonModule(unittest
.TestCase
):
7 def test_handle_decl(self
):
8 #Context creation, adding trace
10 trace_handle
= ctx
.add_trace(
11 "ctf-traces/succeed/lttng-modules-2.0-pre5",
13 self
.assertIsNotNone(trace_handle
, "Error adding trace")
16 ts_begin
= trace_handle
.get_timestamp_begin(ctx
, CLOCK_REAL
)
17 ts_end
= trace_handle
.get_timestamp_end(ctx
, CLOCK_REAL
)
18 self
.assertGreater(ts_end
, ts_begin
, "Error get_timestamp from trace_handle")
20 lst
= ctf
.get_event_decl_list(trace_handle
, ctx
)
21 self
.assertIsNotNone(lst
, "Error get_event_decl_list")
23 name
= lst
[0].get_name()
24 self
.assertIsNotNone(name
)
26 fields
= lst
[0].get_decl_fields(ctf
.scope
.EVENT_FIELDS
)
27 self
.assertIsNotNone(fields
, "Error getting FieldDecl list")
30 self
.assertIsNotNone(fields
[0].get_name(),
31 "Error getting name from FieldDecl")
34 ctx
.remove_trace(trace_handle
)
39 def test_iterator_event(self
):
40 #Context creation, adding trace
42 trace_handle
= ctx
.add_trace(
43 "ctf-traces/succeed/lttng-modules-2.0-pre5",
45 self
.assertIsNotNone(trace_handle
, "Error adding trace")
47 begin_pos
= IterPos(SEEK_BEGIN
)
48 it
= ctf
.Iterator(ctx
, begin_pos
)
49 self
.assertIsNotNone(it
, "Error creating iterator")
51 event
= it
.read_event()
52 self
.assertIsNotNone(event
, "Error reading event")
54 handle
= event
.get_handle()
55 self
.assertIsNotNone(handle
, "Error getting handle")
57 context
= event
.get_context()
58 self
.assertIsNotNone(context
, "Error getting context")
61 while event
is not None and name
!= "sched_switch":
62 name
= event
.get_name()
63 self
.assertIsNotNone(name
, "Error getting event name")
65 ts
= event
.get_timestamp()
66 self
.assertGreaterEqual(ts
, 0, "Error getting timestamp")
68 cycles
= event
.get_cycles()
69 self
.assertGreaterEqual(cycles
, 0, "Error getting cycles")
71 if name
== "sched_switch":
72 scope
= event
.get_top_level_scope(ctf
.scope
.STREAM_PACKET_CONTEXT
)
73 self
.assertIsNotNone(scope
, "Error getting scope definition")
75 field
= event
.get_field(scope
, "cpu_id")
76 prev_comm_str
= field
.get_uint64()
77 self
.assertEqual(ctf
.field_error(), 0, "Error getting vec info")
79 field_lst
= event
.get_field_list(scope
)
80 self
.assertIsNotNone(field_lst
, "Error getting field list")
82 fname
= field
.field_name()
83 self
.assertIsNotNone(fname
, "Error getting field name")
85 ftype
= field
.field_type()
86 self
.assertIsNot(ftype
, -1, "Error getting field type (unknown)")
89 self
.assertGreaterEqual(ret
, 0, "Error moving iterator")
91 event
= it
.read_event()
94 self
.assertIsNotNone(pos
._pos
, "Error getting iterator position")
97 self
.assertEqual(ret
, 0, "Error setting iterator position")
99 pos
= it
.create_time_pos(ts
)
100 self
.assertIsNotNone(pos
._pos
, "Error creating time-based iterator position")
103 set_pos
= IterPos(SEEK_TIME
, ts
)
104 it
= ctf
.Iterator(ctx
, begin_pos
, set_pos
)
105 self
.assertIsNotNone(it
, "Error creating iterator with end_pos")
108 def test_file_class(self
):
109 f
= File("test-bitfield.c")
110 self
.assertIsNotNone(f
, "Error opening file")
114 if __name__
== "__main__":
This page took 0.033823 seconds and 5 git commands to generate.