tests/bindings/python: Mark all tests as skipped
[babeltrace.git] / tests / bindings / python / bt2 / test_stream_class.py
CommitLineData
9cf643d1
PP
1from bt2 import values
2import unittest
3import copy
4import bt2
5
6
90cfc012 7@unittest.skip("this is broken")
9cf643d1
PP
8class StreamClassTestCase(unittest.TestCase):
9 def setUp(self):
10 self._packet_context_ft = bt2.StructureFieldType()
11 self._packet_context_ft.append_field('menu', bt2.FloatingPointNumberFieldType())
12 self._packet_context_ft.append_field('sticker', bt2.StringFieldType())
13 self._event_header_ft = bt2.StructureFieldType()
14 self._event_header_ft.append_field('id', bt2.IntegerFieldType(19))
15 self._event_context_ft = bt2.StructureFieldType()
16 self._event_context_ft.append_field('msg', bt2.StringFieldType())
17 self._ec1, self._ec2 = self._create_event_classes()
18 self._sc = bt2.StreamClass(name='my_stream_class', id=12,
19 packet_context_field_type=self._packet_context_ft,
20 event_header_field_type=self._event_header_ft,
21 event_context_field_type=self._event_context_ft,
22 event_classes=(self._ec1, self._ec2))
23
f6a5e476
PP
24 def tearDown(self):
25 del self._packet_context_ft
26 del self._event_header_ft
27 del self._event_context_ft
28 del self._ec1
29 del self._sc
30
9cf643d1
PP
31 def _create_event_classes(self):
32 context_ft = bt2.StructureFieldType()
33 context_ft.append_field('allo', bt2.StringFieldType())
34 context_ft.append_field('zola', bt2.IntegerFieldType(18))
35 payload_ft = bt2.StructureFieldType()
36 payload_ft.append_field('zoom', bt2.StringFieldType())
37 ec1 = bt2.EventClass('event23', id=23, context_field_type=context_ft,
38 payload_field_type=payload_ft)
39 ec2 = bt2.EventClass('event17', id=17, context_field_type=payload_ft,
40 payload_field_type=context_ft)
41 return ec1, ec2
42
43 def test_create(self):
44 self.assertEqual(self._sc.name, 'my_stream_class')
45 self.assertEqual(self._sc.id, 12)
46 self.assertEqual(self._sc.packet_context_field_type, self._packet_context_ft)
47 self.assertEqual(self._sc.event_header_field_type, self._event_header_ft)
48 self.assertEqual(self._sc.event_context_field_type, self._event_context_ft)
f6a5e476
PP
49 self.assertEqual(self._sc[23], self._ec1)
50 self.assertEqual(self._sc[17], self._ec2)
51 self.assertEqual(len(self._sc), 2)
9cf643d1
PP
52
53 def test_assign_name(self):
54 self._sc.name = 'lel'
55 self.assertEqual(self._sc.name, 'lel')
56
57 def test_assign_invalid_name(self):
58 with self.assertRaises(TypeError):
59 self._sc.name = 17
60
61 def test_assign_id(self):
62 self._sc.id = 1717
63 self.assertEqual(self._sc.id, 1717)
64
65 def test_assign_invalid_id(self):
66 with self.assertRaises(TypeError):
67 self._sc.id = 'lel'
68
f6a5e476
PP
69 def test_no_id(self):
70 sc = bt2.StreamClass()
71 self.assertIsNone(sc.id)
72
9cf643d1
PP
73 def test_assign_packet_context_field_type(self):
74 self._sc.packet_context_field_type = self._event_context_ft
75 self.assertEqual(self._sc.packet_context_field_type, self._event_context_ft)
76
77 def test_assign_no_packet_context_field_type(self):
78 self._sc.packet_context_field_type = None
79 self.assertIsNone(self._sc.packet_context_field_type)
80
81 def test_assign_invalid_packet_context_field_type(self):
82 with self.assertRaises(TypeError):
83 self._sc.packet_context_field_type = 'lel'
84
85 def test_assign_event_header_field_type(self):
86 self._sc.event_header_field_type = self._event_header_ft
87 self.assertEqual(self._sc.event_header_field_type, self._event_header_ft)
88
89 def test_assign_no_event_header_field_type(self):
90 self._sc.event_header_field_type = None
91 self.assertIsNone(self._sc.event_header_field_type)
92
93 def test_assign_invalid_event_header_field_type(self):
94 with self.assertRaises(TypeError):
95 self._sc.event_header_field_type = 'lel'
96
97 def test_assign_event_context_field_type(self):
98 self._sc.event_context_field_type = self._packet_context_ft
99 self.assertEqual(self._sc.event_context_field_type, self._packet_context_ft)
100
101 def test_assign_no_event_context_field_type(self):
102 self._sc.event_context_field_type = None
103 self.assertIsNone(self._sc.event_context_field_type)
104
105 def test_assign_invalid_event_context_field_type(self):
106 with self.assertRaises(TypeError):
107 self._sc.event_context_field_type = 'lel'
108
109 def test_trace_prop_no_tc(self):
110 self.assertIsNone(self._sc.trace)
111
112 def test_trace_prop(self):
113 tc = bt2.Trace()
114 tc.add_stream_class(self._sc)
115 self.assertEqual(self._sc.trace.addr, tc.addr)
116
117 def _test_copy(self, cpy):
118 self.assertIsNot(cpy, self._sc)
119 self.assertNotEqual(cpy.addr, self._sc.addr)
120 self.assertEqual(cpy, self._sc)
121
122 def test_copy(self):
123 cpy = copy.copy(self._sc)
124 self._test_copy(cpy)
125 self.assertEqual(self._sc.packet_context_field_type.addr, cpy.packet_context_field_type.addr)
126 self.assertEqual(self._sc.event_header_field_type.addr, cpy.event_header_field_type.addr)
127 self.assertEqual(self._sc.event_context_field_type.addr, cpy.event_context_field_type.addr)
128
129 def test_deepcopy(self):
130 cpy = copy.deepcopy(self._sc)
131 self._test_copy(cpy)
132 self.assertNotEqual(self._sc.packet_context_field_type.addr, cpy.packet_context_field_type.addr)
133 self.assertNotEqual(self._sc.event_header_field_type.addr, cpy.event_header_field_type.addr)
134 self.assertNotEqual(self._sc.event_context_field_type.addr, cpy.event_context_field_type.addr)
135
136 def test_getitem(self):
f6a5e476
PP
137 self.assertEqual(self._sc[23], self._ec1)
138 self.assertEqual(self._sc[17], self._ec2)
9cf643d1
PP
139
140 def test_getitem_wrong_key_type(self):
141 with self.assertRaises(TypeError):
f6a5e476 142 self._sc['event23']
9cf643d1
PP
143
144 def test_getitem_wrong_key(self):
145 with self.assertRaises(KeyError):
f6a5e476 146 self._sc[19]
9cf643d1
PP
147
148 def test_len(self):
149 self.assertEqual(len(self._sc), 2)
150
151 def test_iter(self):
f6a5e476 152 for ec_id, event_class in self._sc.items():
9cf643d1
PP
153 self.assertIsInstance(event_class, bt2.EventClass)
154
f6a5e476 155 if ec_id == 23:
9cf643d1 156 self.assertEqual(event_class, self._ec1)
f6a5e476 157 elif ec_id == 17:
9cf643d1
PP
158 self.assertEqual(event_class, self._ec2)
159
9cf643d1
PP
160 def test_eq(self):
161 ec1, ec2 = self._create_event_classes()
162 sc1 = bt2.StreamClass(name='my_stream_class', id=12,
163 packet_context_field_type=self._packet_context_ft,
164 event_header_field_type=self._event_header_ft,
165 event_context_field_type=self._event_context_ft,
166 event_classes=(ec1, ec2))
167 ec1, ec2 = self._create_event_classes()
168 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
169 packet_context_field_type=self._packet_context_ft,
170 event_header_field_type=self._event_header_ft,
171 event_context_field_type=self._event_context_ft,
172 event_classes=(ec1, ec2))
173 self.assertEqual(sc1, sc2)
174
175 def test_ne_name(self):
176 ec1, ec2 = self._create_event_classes()
177 sc1 = bt2.StreamClass(name='my_stream_class1', id=12,
178 packet_context_field_type=self._packet_context_ft,
179 event_header_field_type=self._event_header_ft,
180 event_context_field_type=self._event_context_ft,
181 event_classes=(ec1, ec2))
182 ec1, ec2 = self._create_event_classes()
183 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
184 packet_context_field_type=self._packet_context_ft,
185 event_header_field_type=self._event_header_ft,
186 event_context_field_type=self._event_context_ft,
187 event_classes=(ec1, ec2))
188 self.assertNotEqual(sc1, sc2)
189
190 def test_ne_id(self):
191 ec1, ec2 = self._create_event_classes()
192 sc1 = bt2.StreamClass(name='my_stream_class', id=13,
193 packet_context_field_type=self._packet_context_ft,
194 event_header_field_type=self._event_header_ft,
195 event_context_field_type=self._event_context_ft,
196 event_classes=(ec1, ec2))
197 ec1, ec2 = self._create_event_classes()
198 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
199 packet_context_field_type=self._packet_context_ft,
200 event_header_field_type=self._event_header_ft,
201 event_context_field_type=self._event_context_ft,
202 event_classes=(ec1, ec2))
203 self.assertNotEqual(sc1, sc2)
204
205 def test_ne_packet_context_field_type(self):
206 ec1, ec2 = self._create_event_classes()
207 sc1 = bt2.StreamClass(name='my_stream_class', id=12,
208 packet_context_field_type=self._event_context_ft,
209 event_header_field_type=self._event_header_ft,
210 event_context_field_type=self._event_context_ft,
211 event_classes=(ec1, ec2))
212 ec1, ec2 = self._create_event_classes()
213 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
214 packet_context_field_type=self._packet_context_ft,
215 event_header_field_type=self._event_header_ft,
216 event_context_field_type=self._event_context_ft,
217 event_classes=(ec1, ec2))
218 self.assertNotEqual(sc1, sc2)
219
220 def test_ne_event_header_field_type(self):
221 ec1, ec2 = self._create_event_classes()
222 sc1 = bt2.StreamClass(name='my_stream_class', id=12,
223 packet_context_field_type=self._packet_context_ft,
224 event_context_field_type=self._event_context_ft,
225 event_classes=(ec1, ec2))
226 ec1, ec2 = self._create_event_classes()
227 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
228 packet_context_field_type=self._packet_context_ft,
229 event_header_field_type=self._event_header_ft,
230 event_context_field_type=self._event_context_ft,
231 event_classes=(ec1, ec2))
232 self.assertNotEqual(sc1, sc2)
233
234 def test_ne_event_context_field_type(self):
235 ec1, ec2 = self._create_event_classes()
236 sc1 = bt2.StreamClass(name='my_stream_class', id=12,
237 packet_context_field_type=self._packet_context_ft,
238 event_header_field_type=self._event_header_ft,
239 event_context_field_type=self._packet_context_ft,
240 event_classes=(ec1, ec2))
241 ec1, ec2 = self._create_event_classes()
242 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
243 packet_context_field_type=self._packet_context_ft,
244 event_header_field_type=self._event_header_ft,
245 event_context_field_type=self._event_context_ft,
246 event_classes=(ec1, ec2))
247 self.assertNotEqual(sc1, sc2)
248
249 def test_ne_event_class(self):
250 ec1, ec2 = self._create_event_classes()
251 sc1 = bt2.StreamClass(name='my_stream_class', id=12,
252 packet_context_field_type=self._packet_context_ft,
253 event_header_field_type=self._event_header_ft,
254 event_context_field_type=self._event_context_ft,
255 event_classes=(ec1,))
256 ec1, ec2 = self._create_event_classes()
257 sc2 = bt2.StreamClass(name='my_stream_class', id=12,
258 packet_context_field_type=self._packet_context_ft,
259 event_header_field_type=self._event_header_ft,
260 event_context_field_type=self._event_context_ft,
261 event_classes=(ec1, ec2))
262 self.assertNotEqual(sc1, sc2)
263
264 def test_eq_invalid(self):
265 self.assertFalse(self._sc == 23)
This page took 0.044161 seconds and 4 git commands to generate.