tests: Avoid to disable all deprecation warnings just for expect functions

In case GLib don't provide these functions we use replacements so
there's no need to have a warning if these functions are called.
This potentially capture other compatibility issues in the tests
that would be ignored having all deprecation warnings disabled.
Tested with GLib 2.28 and 2.52.

Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
Acked-by: Christophe Fergeau <cfergeau@redhat.com>
This commit is contained in:
Frediano Ziglio 2017-09-11 10:58:45 +01:00
parent 08dd9c4f48
commit 3dc6bc76f1
2 changed files with 22 additions and 12 deletions

View File

@ -128,18 +128,6 @@ libtest_stat4_a_CPPFLAGS = $(AM_CPPFLAGS) -DTEST_COMPRESS_STAT=1 -DTEST_RED_WORK
test_qxl_parsing_LDADD = ../libserver.la $(LDADD)
# Fallback implementations are provided for older glibs for the recent glib
# methods this test is using, so no need to warn about them
test_vdagent_CPPFLAGS = \
$(AM_CPPFLAGS) \
-UGLIB_VERSION_MIN_REQUIRED \
-UGLIB_VERSION_MAX_ALLOWED \
$(NULL)
test_codecs_parsing_CPPFLAGS = $(test_vdagent_CPPFLAGS)
test_qxl_parsing_CPPFLAGS = $(test_vdagent_CPPFLAGS)
test_fail_on_null_core_interface_CPPFLAGS = $(test_vdagent_CPPFLAGS)
test_leaks_CPPFLAGS = $(test_vdagent_CPPFLAGS)
if HAVE_GSTREAMER
test_gst_SOURCES = test-gst.c \
$(NULL)

View File

@ -29,6 +29,28 @@ void g_test_assert_expected_messages_internal(const char *domain,
g_test_assert_expected_messages_internal (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC)
void g_test_expect_message(const gchar *log_domain, GLogLevelFlags log_level,
const gchar *pattern);
#else
/* this avoids deprecation warning */
static inline void
g_test_expect_message_no_warnings(const gchar *log_domain, GLogLevelFlags log_level,
const gchar *pattern)
{
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
g_test_expect_message(log_domain, log_level, pattern);
G_GNUC_END_IGNORE_DEPRECATIONS
}
static inline void
g_test_assert_expected_messages_internal_no_warnings(const char *domain,
const char *file, int line, const char *func)
{
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
g_test_assert_expected_messages_internal(domain, file, line, func);
G_GNUC_END_IGNORE_DEPRECATIONS
}
#define g_test_expect_message g_test_expect_message_no_warnings
#define g_test_assert_expected_messages_internal g_test_assert_expected_messages_internal_no_warnings
/* g_test_assert_expected_messages defined above is already defined for
* Glib >= 2.34 so we don't need to define it here */
#endif
/* GLIB_CHECK_VERSION(2, 40, 0) */