From f1da118a6ccec6154a8e67c78d52fffb2ffa7089 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 19 Oct 2011 21:10:01 +0200 Subject: test: add GLib testing compatibility header Didn't compile on GLib < 2.16. --- Makefile.am | 1 + test/test_glib_compat.h | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ test/test_pcm_byteswap.c | 1 + test/test_pcm_channels.c | 1 + test/test_pcm_dither.c | 1 + test/test_pcm_main.c | 1 + test/test_pcm_pack.c | 1 + 7 files changed, 63 insertions(+) create mode 100644 test/test_glib_compat.h diff --git a/Makefile.am b/Makefile.am index b86a5557c..6b612529f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1195,6 +1195,7 @@ test_run_inotify_LDADD = $(GLIB_LIBS) endif test_test_pcm_SOURCES = \ + test/test_glib_compat.h \ test/test_pcm_dither.c \ test/test_pcm_pack.c \ test/test_pcm_channels.c \ diff --git a/test/test_glib_compat.h b/test/test_glib_compat.h new file mode 100644 index 000000000..1d54ec89a --- /dev/null +++ b/test/test_glib_compat.h @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2003-2011 The Music Player Daemon Project + * http://www.musicpd.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/* + * Compatibility header for GLib before 2.16. + */ + +#ifndef MPD_TEST_GLIB_COMPAT_H +#define MPD_TEST_GLIB_COMPAT_H + +#include + +#if !GLIB_CHECK_VERSION(2,16,0) + +#define g_assert_cmpint(n1, cmp, n2) g_assert((n1) cmp (n2)) + +static void (*test_functions[256])(void); +static unsigned num_test_functions; + +static inline void +g_test_init(G_GNUC_UNUSED int *argc, G_GNUC_UNUSED char ***argv, ...) +{ +} + +static inline void +g_test_add_func(G_GNUC_UNUSED const char *testpath, void (test_funcvoid)(void)) +{ + test_functions[num_test_functions++] = test_funcvoid; +} + +static inline int +g_test_run(void) +{ + for (unsigned i = 0; i < num_test_functions; ++i) + test_functions[i](); + return 0; +} + +#endif /* !2.16 */ + +#endif diff --git a/test/test_pcm_byteswap.c b/test/test_pcm_byteswap.c index 32401eae6..ddc09f507 100644 --- a/test/test_pcm_byteswap.c +++ b/test/test_pcm_byteswap.c @@ -20,6 +20,7 @@ #include "test_pcm_all.h" #include "pcm_byteswap.h" #include "pcm_buffer.h" +#include "test_glib_compat.h" #include diff --git a/test/test_pcm_channels.c b/test/test_pcm_channels.c index c974c7b1b..b067d46fe 100644 --- a/test/test_pcm_channels.c +++ b/test/test_pcm_channels.c @@ -18,6 +18,7 @@ */ #include "test_pcm_all.h" +#include "test_glib_compat.h" #include "pcm_channels.h" #include "pcm_buffer.h" diff --git a/test/test_pcm_dither.c b/test/test_pcm_dither.c index 44d105207..24b0dd040 100644 --- a/test/test_pcm_dither.c +++ b/test/test_pcm_dither.c @@ -18,6 +18,7 @@ */ #include "test_pcm_all.h" +#include "test_glib_compat.h" #include "pcm_dither.h" #include diff --git a/test/test_pcm_main.c b/test/test_pcm_main.c index 6201f8e1a..4e64b443f 100644 --- a/test/test_pcm_main.c +++ b/test/test_pcm_main.c @@ -18,6 +18,7 @@ */ #include "test_pcm_all.h" +#include "test_glib_compat.h" #include diff --git a/test/test_pcm_pack.c b/test/test_pcm_pack.c index 921bb7932..85cbe5bfc 100644 --- a/test/test_pcm_pack.c +++ b/test/test_pcm_pack.c @@ -19,6 +19,7 @@ #include "test_pcm_all.h" #include "pcm_pack.h" +#include "test_glib_compat.h" #include -- cgit v1.2.3