summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2020-08-23 18:34:04 +0100
committerChristoph Reiter <reiter.christoph@gmail.com>2020-09-28 15:30:19 +0200
commitf93b9eb0e3847bbddb5c8124468dfacfe704a84c (patch)
treea088a028ebf07a2ae62981606087a3f767b14778
parent8b92e8e75f6f89c463ef16e52081190bd2a49cc7 (diff)
downloadgobject-introspection-f93b9eb0e3847bbddb5c8124468dfacfe704a84c.tar.gz
girmarshalling tests: Diagnose GValue not holding enum/flags
If g_value_get_enum() or g_value_get_flags() is about to fail with a precondition check failure, we can improve diagnostics by issuing a more informative critical warning. Signed-off-by: Simon McVittie <smcv@debian.org>
-rw-r--r--tests/gimarshallingtests.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c
index 571b7a2e..483fb619 100644
--- a/tests/gimarshallingtests.c
+++ b/tests/gimarshallingtests.c
@@ -3445,6 +3445,8 @@ gi_marshalling_tests_gvalue_in_with_modification (GValue *value)
void
gi_marshalling_tests_gvalue_in_enum (GValue *value)
{
+ if (!G_VALUE_HOLDS_ENUM (value))
+ g_critical ("Expected enum, got %s", G_VALUE_TYPE_NAME (value));
g_assert (g_value_get_enum (value) == GI_MARSHALLING_TESTS_ENUM_VALUE3);
}
@@ -3455,6 +3457,8 @@ gi_marshalling_tests_gvalue_in_enum (GValue *value)
void
gi_marshalling_tests_gvalue_in_flags (GValue *value)
{
+ if (!G_VALUE_HOLDS_FLAGS (value))
+ g_critical ("Expected flags, got %s", G_VALUE_TYPE_NAME (value));
g_assert_cmpint (g_value_get_flags (value), ==, GI_MARSHALLING_TESTS_FLAGS_VALUE3);
}