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

Christophe Fergeau cfergeau at redhat.com
Mon Sep 11 16:01:22 UTC 2017


On Mon, Sep 11, 2017 at 11:15:47AM +0100, Frediano Ziglio wrote:
> 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 | 20 ++++++++++++++++++++
>  2 files changed, 20 insertions(+), 12 deletions(-)
> 
> 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..91425cc44 100644
> --- a/server/tests/test-glib-compat.h
> +++ b/server/tests/test-glib-compat.h
> @@ -29,6 +29,26 @@ 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

I don't understand why you define g_test_assert_expected_messages_internal? The glib < 2.34 case has
#define g_test_assert_expected_messages() \
    g_test_assert_expected_messages_internal (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC)
but I see no such #define in the newer glib case?

Christophe


More information about the Spice-devel mailing list