[Spice-devel] [PATCH spice-server v2] tests: Avoid to disable all deprecation warnings just for expect functions

Frediano Ziglio fziglio at redhat.com
Tue Sep 12 11:52:37 UTC 2017


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 at redhat.com>
---
 server/tests/Makefile.am        | 12 ------------
 server/tests/test-glib-compat.h | 22 ++++++++++++++++++++++
 2 files changed, 22 insertions(+), 12 deletions(-)

Changes since v1:
- explain why g_test_assert_expected_messages is not defined.

diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
index d50c590c3..2efc136d4 100644
--- a/server/tests/Makefile.am
+++ b/server/tests/Makefile.am
@@ -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)
diff --git a/server/tests/test-glib-compat.h b/server/tests/test-glib-compat.h
index a364012f4..bb0f601c5 100644
--- a/server/tests/test-glib-compat.h
+++ b/server/tests/test-glib-compat.h
@@ -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) */
-- 
2.13.5



More information about the Spice-devel mailing list