diff options
author | Simon McVittie <smcv@debian.org> | 2020-08-23 18:34:04 +0100 |
---|---|---|
committer | Christoph Reiter <reiter.christoph@gmail.com> | 2020-09-28 15:30:19 +0200 |
commit | f93b9eb0e3847bbddb5c8124468dfacfe704a84c (patch) | |
tree | a088a028ebf07a2ae62981606087a3f767b14778 | |
parent | 8b92e8e75f6f89c463ef16e52081190bd2a49cc7 (diff) | |
download | gobject-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.c | 4 |
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); } |