lib: add precond. check for begin <= end on pkt./ev. disc. msg. creation
[babeltrace.git] / tests / bindings / python / bt2 / test_message.py
index 76cb1352e0eb9de76c83a01f9807898904a8e9df..a99972aadc7d54f226f9de639e34f602a9c58bb2 100644 (file)
@@ -404,8 +404,7 @@ class CreateDiscardedEventMessageTestCase(unittest.TestCase):
 
         msg = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
         self.assertIs(type(msg), bt2._DiscardedEventsMessage)
-        # Broken at the moment.
-        # self.assertIs(msg.count, None)
+        self.assertIs(msg.count, None)
 
     # With event count.
     def test_create_with_count(self):
@@ -417,8 +416,7 @@ class CreateDiscardedEventMessageTestCase(unittest.TestCase):
 
         msg = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
         self.assertIs(type(msg), bt2._DiscardedEventsMessage)
-        # Broken at the moment.
-        # self.assertEqual(msg.count, 242)
+        self.assertEqual(msg.count, 242)
 
     # With clock snapshots.
     def test_create_with_clock_snapshots(self):
@@ -436,9 +434,8 @@ class CreateDiscardedEventMessageTestCase(unittest.TestCase):
 
         msg = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
         self.assertIs(type(msg), bt2._DiscardedEventsMessage)
-        # Broken at the moment.
-        # self.assertEqual(msg.beginning_default_clock_snapshot, 10);
-        # self.assertEqual(msg.end_default_clock_snapshot, 20);
+        self.assertEqual(msg.beginning_default_clock_snapshot, 10)
+        self.assertEqual(msg.end_default_clock_snapshot, 20)
 
     # Trying to create when the stream does not support discarded events.
     def test_create_unsupported_raises(self):
@@ -497,6 +494,29 @@ class CreateDiscardedEventMessageTestCase(unittest.TestCase):
         res = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
         self.assertEqual(res, 123)
 
+    # End clock snapshot greater than beginning clock snapshot.
+    def test_create_clock_snapshots_end_gt_begin_raises(self):
+        def create_stream_class(tc, cc):
+            return tc.create_stream_class(
+                default_clock_class=cc,
+                supports_discarded_events=True,
+                discarded_events_have_default_clock_snapshots=True,
+            )
+
+        def msg_iter_next(msg_iter, stream):
+            with self.assertRaisesRegex(
+                ValueError,
+                r'beginning default clock snapshot value \(20\) is greater than end default clock snapshot value \(10\)',
+            ):
+                msg_iter._create_discarded_events_message(
+                    stream, beg_clock_snapshot=20, end_clock_snapshot=10
+                )
+
+            return 123
+
+        res = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
+        self.assertEqual(res, 123)
+
 
 class CreateDiscardedPacketMessageTestCase(unittest.TestCase):
     # Most basic case.
@@ -607,6 +627,30 @@ class CreateDiscardedPacketMessageTestCase(unittest.TestCase):
         res = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
         self.assertEqual(res, 123)
 
+    # End clock snapshot greater than beginning clock snapshot.
+    def test_create_clock_snapshots_end_gt_begin_raises(self):
+        def create_stream_class(tc, cc):
+            return tc.create_stream_class(
+                default_clock_class=cc,
+                supports_packets=True,
+                supports_discarded_packets=True,
+                discarded_packets_have_default_clock_snapshots=True,
+            )
+
+        def msg_iter_next(msg_iter, stream):
+            with self.assertRaisesRegex(
+                ValueError,
+                r'beginning default clock snapshot value \(20\) is greater than end default clock snapshot value \(10\)',
+            ):
+                msg_iter._create_discarded_packets_message(
+                    stream, beg_clock_snapshot=20, end_clock_snapshot=10
+                )
+
+            return 123
+
+        res = utils.run_in_message_iterator_next(create_stream_class, msg_iter_next)
+        self.assertEqual(res, 123)
+
 
 if __name__ == '__main__':
     unittest.main()
This page took 0.025174 seconds and 4 git commands to generate.