def test_cycles_to_ns_from_origin(self):
        def f(comp_self):
            return comp_self._create_clock_class(frequency=10**8,
                                                 origin_is_unix_epoch=True)

        cc = run_in_component_init(f)
        self.assertEqual(cc.cycles_to_ns_from_origin(112), 1120)
    def test_create_offset(self):
        def f(comp_self):
            return comp_self._create_clock_class(
                offset=bt2.ClockClassOffset(12, 56))

        cc = run_in_component_init(f)
        self.assertEqual(cc.offset, bt2.ClockClassOffset(12, 56))
Exemple #3
0
    def setUp(self):
        def f(comp_self):
            return comp_self._create_trace_class()

        self._tc = run_in_component_init(f)
        self._sc = self._tc.create_stream_class(
            assigns_automatic_stream_id=True)
        self._tr = self._tc()
    def setUp(self):
        def f(comp_self):
            tc = comp_self._create_trace_class(assigns_automatic_stream_class_id=True)
            cc = comp_self._create_clock_class()
            return tc, cc

        self._tc, self._cc = run_in_component_init(f)
        self._trace = self._tc()
Exemple #5
0
    def test_automatic_stream_class_id_raises(self):
        def f(comp_self):
            return comp_self._create_trace_class(
                assigns_automatic_stream_class_id=True)

        tc = run_in_component_init(f)
        self.assertTrue(tc.assigns_automatic_stream_class_id)

        with self.assertRaises(ValueError):
            tc.create_stream_class(23)
Exemple #6
0
    def test_create_default(self):
        def f(comp_self):
            return comp_self._create_trace_class()

        tc = run_in_component_init(f)

        self.assertEqual(len(tc), 0)
        self.assertIs(type(tc), bt2_trace_class._TraceClass)
        self.assertTrue(tc.assigns_automatic_stream_class_id)
        self.assertEqual(len(tc.user_attributes), 0)
Exemple #7
0
    def _create_trace_class_with_some_stream_classes():
        def f(comp_self):
            return comp_self._create_trace_class(
                assigns_automatic_stream_class_id=False)

        tc = run_in_component_init(f)
        sc1 = tc.create_stream_class(id=12)
        sc2 = tc.create_stream_class(id=54)
        sc3 = tc.create_stream_class(id=2018)
        return tc, sc1, sc2, sc3
Exemple #8
0
    def test_no_assigns_automatic_stream_class_id(self):
        def f(comp_self):
            return comp_self._create_trace_class(
                assigns_automatic_stream_class_id=False)

        tc = run_in_component_init(f)
        self.assertFalse(tc.assigns_automatic_stream_class_id)

        sc = tc.create_stream_class(id=28)
        self.assertEqual(sc.id, 28)
Exemple #9
0
    def test_no_assigns_automatic_stream_class_id_raises(self):
        def f(comp_self):
            return comp_self._create_trace_class(
                assigns_automatic_stream_class_id=False)

        tc = run_in_component_init(f)
        self.assertFalse(tc.assigns_automatic_stream_class_id)

        # In this mode, it is required to pass an explicit id.
        with self.assertRaises(ValueError):
            tc.create_stream_class()
Exemple #10
0
    def test_automatic_stream_class_id(self):
        def f(comp_self):
            return comp_self._create_trace_class(
                assigns_automatic_stream_class_id=True)

        tc = run_in_component_init(f)
        self.assertTrue(tc.assigns_automatic_stream_class_id)

        # This should not throw.
        sc1 = tc.create_stream_class()
        sc2 = tc.create_stream_class()

        self.assertIs(type(sc1), bt2_stream_class._StreamClass)
        self.assertIs(type(sc2), bt2_stream_class._StreamClass)
        self.assertNotEqual(sc1.id, sc2.id)
Exemple #11
0
    def test_create_frequency(self):
        def f(comp_self):
            return comp_self._create_clock_class(frequency=987654321)

        cc = run_in_component_init(f)
        self.assertEqual(cc.frequency, 987654321)
Exemple #12
0
    def test_create_description(self):
        def f(comp_self):
            return comp_self._create_clock_class(description='hi people')

        cc = run_in_component_init(f)
        self.assertEqual(cc.description, 'hi people')
Exemple #13
0
    def _create_packet(with_pc):
        def create_tc_cc(comp_self):
            cc = comp_self._create_clock_class(frequency=1000, name='my_cc')
            tc = comp_self._create_trace_class()
            return cc, tc

        clock_class, tc = run_in_component_init(create_tc_cc)

        # stream event context
        sec = tc.create_structure_field_class()
        sec += [
            ('cpu_id', tc.create_signed_integer_field_class(8)),
            ('stuff', tc.create_double_precision_real_field_class()),
        ]

        # packet context
        pc = None
        if with_pc:
            pc = tc.create_structure_field_class()
            pc += [
                ('something', tc.create_signed_integer_field_class(8)),
                ('something_else',
                 tc.create_double_precision_real_field_class()),
                ('events_discarded',
                 tc.create_unsigned_integer_field_class(64)),
                ('packet_seq_num', tc.create_unsigned_integer_field_class(64)),
            ]

        # stream class
        sc = tc.create_stream_class(
            default_clock_class=clock_class,
            event_common_context_field_class=sec,
            packet_context_field_class=pc,
            supports_packets=True,
        )

        # event context
        ec = tc.create_structure_field_class()
        ec += [
            ('ant', tc.create_signed_integer_field_class(16)),
            ('msg', tc.create_string_field_class()),
        ]

        # event payload
        ep = tc.create_structure_field_class()
        ep += [
            ('giraffe', tc.create_signed_integer_field_class(32)),
            ('gnu', tc.create_signed_integer_field_class(8)),
            ('mosquito', tc.create_signed_integer_field_class(8)),
        ]

        # event class
        event_class = sc.create_event_class(name='ec', payload_field_class=ep)
        event_class.common_context_field_class = ec

        # trace
        trace = tc()

        # stream
        stream = trace.create_stream(sc)

        # packet
        return stream.create_packet(), stream, pc
Exemple #14
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})