def test_ne_payload_field(self): tc = bt2.Trace() tc.add_stream_class(self._ec.stream_class) cc = bt2.ClockClass('hi', 1000) tc.add_clock_class(cc) ev1 = self._ec() self._fill_ev(ev1) ev1.payload_field['mosquito'] = 98 ev1.clock_snapshots.add(cc(234)) ev2 = self._ec() self._fill_ev(ev2) ev2.clock_snapshots.add(cc(234)) self.assertNotEqual(ev1, ev2)
def test_ne_context_field(self): tc = bt2.Trace() tc.add_stream_class(self._ec.stream_class) cc = bt2.ClockClass('hi', 1000) tc.add_clock_class(cc) ev1 = self._ec() self._fill_ev(ev1) ev1.context_field['ant'] = -3 ev1.clock_snapshots.add(cc(234)) ev2 = self._ec() self._fill_ev(ev2) ev2.clock_snapshots.add(cc(234)) self.assertNotEqual(ev1, ev2)
def test_create_full(self): header_ft = bt2.StructureFieldType() header_ft.append_field('magic', bt2.IntegerFieldType(32)) clock_classes = bt2.ClockClass('cc1'), bt2.ClockClass('cc2') sc = self._create_stream_class('sc1', 3) tc = bt2.Trace(name='my name', native_byte_order=bt2.ByteOrder.LITTLE_ENDIAN, env={ 'the_string': 'value', 'the_int': 23 }, packet_header_field_type=header_ft, clock_classes=clock_classes, stream_classes=(sc, )) self.assertEqual(tc.name, 'my name') self.assertEqual(tc.native_byte_order, bt2.ByteOrder.LITTLE_ENDIAN) self.assertEqual(tc.env['the_string'], 'value') self.assertEqual(tc.env['the_int'], 23) self.assertEqual(tc.packet_header_field_type, header_ft) self.assertEqual(tc.clock_classes['cc1'], clock_classes[0]) self.assertEqual(tc.clock_classes['cc2'], clock_classes[1]) self.assertEqual(tc[3], sc)
def test_create_full(self): cc = bt2.ClockClass('name', 1000) ft = bt2.IntegerFieldType(24, alignment=16, byte_order=bt2.ByteOrder.BIG_ENDIAN, is_signed=True, base=bt2.Base.OCTAL, encoding=bt2.Encoding.NONE, mapped_clock_class=cc) self.assertEqual(ft.size, 24) self.assertEqual(ft.alignment, 16) self.assertEqual(ft.byte_order, bt2.ByteOrder.BIG_ENDIAN) self.assertTrue(ft.is_signed) self.assertEqual(ft.base, bt2.Base.OCTAL) self.assertEqual(ft.encoding, bt2.Encoding.NONE) self.assertEqual(ft.mapped_clock_class, cc)
def test_ne_prio(self): cc1 = bt2.ClockClass('meow', 1234) cc2 = bt2.ClockClass('mix', 5678) cc3 = bt2.ClockClass('lel', 1548) cc_prio_map = bt2.ClockClassPriorityMap({cc1: 17, cc2: 2, cc3: 25}) other_cc1 = bt2.ClockClass('meow', 1234) other_cc2 = bt2.ClockClass('mix', 5678) other_cc3 = bt2.ClockClass('lel', 1548) other_cc_prio_map = bt2.ClockClassPriorityMap({other_cc1: 17, other_cc2: 3, other_cc3: 25}) self.assertNotEqual(cc_prio_map, other_cc_prio_map)
def test_create_full(self): my_uuid = uuid.uuid1() cc = bt2.ClockClass(name='name', description='some description', frequency=1001, precision=176, offset=bt2.ClockClassOffset(45, 3003), is_absolute=True, uuid=my_uuid) self.assertEqual(cc.name, 'name') self.assertEqual(cc.description, 'some description') self.assertEqual(cc.frequency, 1001) self.assertEqual(cc.precision, 176) self.assertEqual(cc.offset, bt2.ClockClassOffset(45, 3003)) self.assertEqual(cc.is_absolute, True) self.assertEqual(cc.uuid, copy.deepcopy(my_uuid))
def _create_ec(): # clock class cc = bt2.ClockClass('salut_clock') # event header eh = bt2.StructureFieldType() eh += OrderedDict(( ('id', bt2.IntegerFieldType(8)), ('ts', bt2.IntegerFieldType(32, mapped_clock_class=cc)), )) # packet context pc = bt2.StructureFieldType() pc += OrderedDict((('something', bt2.IntegerFieldType(8)), )) # stream class sc = bt2.StreamClass() sc.packet_context_field_type = pc sc.event_header_field_type = eh sc.event_context_field_type = None # event payload ep = bt2.StructureFieldType() ep += OrderedDict((('mosquito', bt2.StringFieldType()), )) # event class event_class = bt2.EventClass('ec', id=0) event_class.context_field_type = None event_class.payload_field_type = ep sc.add_event_class(event_class) # packet header ph = bt2.StructureFieldType() ph += OrderedDict(( ('magic', bt2.IntegerFieldType(32)), ('stream_id', bt2.IntegerFieldType(16)), )) # trace trace = bt2.Trace() trace.packet_header_field_type = ph trace.add_clock_class(cc) trace.add_stream_class(sc) return event_class
def setUp(self): self._trace = bt2.Trace() self._sc = bt2.StreamClass() self._ec = bt2.EventClass('salut') self._clock_class = bt2.ClockClass('yo', 1000) self._uint64_int_fc = bt2.IntegerFieldClass(64, mapped_clock_class=self._clock_class) self._my_int_fc = bt2.IntegerFieldClass(32) self._ec.payload_field_class = bt2.StructureFieldClass() self._ec.payload_field_class += collections.OrderedDict([ ('my_int', self._my_int_fc), ]) self._sc.add_event_class(self._ec) self._sc.packet_context_field_class = bt2.StructureFieldClass() self._sc.packet_context_field_class += collections.OrderedDict([ ('events_discarded', self._my_int_fc), ('timestamp_begin', self._uint64_int_fc), ('timestamp_end', self._uint64_int_fc), ]) self._trace.add_clock_class(self._clock_class) self._trace.add_stream_class(self._sc) self._stream = self._sc()
def test_create_invalid_no_name(self): with self.assertRaises(TypeError): bt2.ClockClass()
def setUp(self): self._cc = bt2.ClockClass('salut', 1000000)
def test_ne_clock_class(self): cc1 = bt2.ClockClass('yes', 1500) cc2 = bt2.ClockClass('yes', 1501) cv1 = cc1(123) cv2 = cc2(123) self.assertNotEqual(cv1, cv2)
def setUp(self): self._cc = bt2.ClockClass('salut', 1000, offset=bt2.ClockClassOffset(45, 354)) self._cv = self._cc(123)
def test_ne_clock_class(self): cc1 = bt2.ClockClass('yes') cc2 = bt2.ClockClass('yes') cv1 = cc1.create_clock_value(123) cv2 = cc2.create_clock_value(123) self.assertNotEqual(cv1, cv2)
def setUp(self): self._cc1 = bt2.ClockClass('cc1', 1000) self._cc2 = bt2.ClockClass('cc2', 2000) self._cc_prio_map = bt2.ClockClassPriorityMap() self._cc_prio_map[self._cc1] = 25 self._cc_prio_map[self._cc2] = 50
def test_setitem_wrong_value_type(self): cc_prio_map = bt2.ClockClassPriorityMap() cc1 = bt2.ClockClass('mix', 5678) with self.assertRaises(TypeError): cc_prio_map[cc1] = 'priority'
def test_assign_mapped_clock_class(self): cc = bt2.ClockClass('name', 1000) self._ft.mapped_clock_class = cc self.assertEqual(self._ft.mapped_clock_class, cc)
def setUp(self): self._values = { 'ph_field_1': 42, 'ph_field_2': 'bla bla', 'spc_field': 'some string', 'seh_field': 'another string', 'sec_field': 68752, 'ec_field': 89, 'ef_field': 8476, } self._int_ft = bt2.IntegerFieldType(32) self._str_ft = bt2.StringFieldType() self._trace = bt2.Trace() self._trace.packet_header_field_type = bt2.StructureFieldType() self._trace.packet_header_field_type += collections.OrderedDict([ ('ph_field_1', self._int_ft), ('ph_field_2', self._str_ft), ]) self._sc = bt2.StreamClass() self._sc.packet_context_field_type = bt2.StructureFieldType() self._sc.packet_context_field_type += collections.OrderedDict([ ('spc_field', self._str_ft), ]) self._sc.event_header_field_type = bt2.StructureFieldType() self._sc.event_header_field_type += collections.OrderedDict([ ('seh_field', self._str_ft), ]) self._sc.event_context_field_type = bt2.StructureFieldType() self._sc.event_context_field_type += collections.OrderedDict([ ('sec_field', self._int_ft), ]) self._clock_class = bt2.ClockClass('allo', 1000) self._trace.add_clock_class(self._clock_class) self._ec = bt2.EventClass('event_class_name') self._ec.context_field_type = bt2.StructureFieldType() self._ec.context_field_type += collections.OrderedDict([ ('ec_field', self._int_ft), ]) self._ec.payload_field_type = bt2.StructureFieldType() self._ec.payload_field_type += collections.OrderedDict([ ('ef_field', self._int_ft), ]) self._sc.add_event_class(self._ec) self._trace.add_stream_class(self._sc) self._cc_prio_map = bt2.ClockClassPriorityMap() self._cc_prio_map[self._clock_class] = 231 self._stream = self._sc() self._packet = self._stream.create_packet() self._packet.header_field['ph_field_1'] = self._values['ph_field_1'] self._packet.header_field['ph_field_2'] = self._values['ph_field_2'] self._packet.context_field['spc_field'] = self._values['spc_field'] self._event = self._ec() self._event.add_clock_value(self._clock_class(1772)) self._event.header_field['seh_field'] = self._values['seh_field'] self._event.stream_event_context_field['sec_field'] = self._values[ 'sec_field'] self._event.context_field['ec_field'] = self._values['ec_field'] self._event.payload_field['ef_field'] = self._values['ef_field'] self._event.packet = self._packet
def setUp(self): self._cc = bt2.ClockClass('salut') self._cv = self._cc.create_clock_value(123)