fix: test_message_iterator.py hangs on Python 3.12
[babeltrace.git] / tests / bindings / python / bt2 / test_message_iterator.py
index 3cbe26f2568894698d0a3a0538ebf60a324ff36b..651a66b55cf230847694c58d7f295ba11e74afbd 100644 (file)
@@ -331,6 +331,14 @@ class UserMessageIteratorTestCase(unittest.TestCase):
     # This verifies that we are not missing an incref of Py_None, making the
     # refcount of Py_None reach 0.
     def test_try_again_many_times(self):
+        # Starting with Python 3.12, `None` is immortal: its reference
+        # count operations are no-op. Skip this test in that case.
+        before = sys.getrefcount(None)
+        dummy = None  # noqa: F841
+
+        if before == sys.getrefcount(None):
+            raise unittest.SkipTest("`None` is immortal")
+
         class MyIter(bt2._UserMessageIterator):
             def __next__(self):
                 raise bt2.TryAgain
This page took 0.022559 seconds and 4 git commands to generate.