blob: 331e3bc0a3f857cae5dc17cc4436f98c070ef4c9 [file] [log] [blame]
From fe6aedd8eebd92844b873f72e99dc4023316c6f3 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Wed, 7 Jun 2023 22:27:55 +0200
Subject: [PATCH] tests: fix test_gvalue_flat_array_in_item_marshal_failure for
Python 3.12
See https://gitlab.gnome.org/GNOME/pygobject/-/issues/582
_PyGI_ERROR_PREFIX() no longer works with 3.12 since we only get normalized
exceptions in there and can't add a prefix like "Item X: " to the message.
Until we figure out how to add this back for 3.12, align the tests with the
new behaviour (the new exception notes API would be an option, see the
linked issue)
---
tests/test_gi.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tests/test_gi.py b/tests/test_gi.py
index 25a3b659..261d8b2b 100644
--- a/tests/test_gi.py
+++ b/tests/test_gi.py
@@ -1573,9 +1573,12 @@ class TestGValue(unittest.TestCase):
self.assertRaises(OverflowError, GIMarshallingTests.gvalue_flat_array,
[GLib.MININT - 1, "42", True])
+ # FIXME: https://gitlab.gnome.org/GNOME/pygobject/-/issues/582#note_1764164
+ exc_prefix = "Item 0: " if sys.version_info[:2] < (3, 12) else ""
+
with pytest.raises(
OverflowError,
- match='Item 0: %d not in range %d to %d' % (
+ match=exc_prefix + '%d not in range %d to %d' % (
GLib.MAXINT + 1, GLib.MININT, GLib.MAXINT)):
GIMarshallingTests.gvalue_flat_array([GLib.MAXINT + 1, "42", True])
@@ -1583,7 +1586,7 @@ class TestGValue(unittest.TestCase):
with pytest.raises(
OverflowError,
- match='Item 0: %d not in range %d to %d' % (
+ match=exc_prefix + '%d not in range %d to %d' % (
GLib.MAXUINT64 * 2, min_, max_)):
GIMarshallingTests.gvalue_flat_array([GLib.MAXUINT64 * 2, "42", True])
--
GitLab