diff options
author | Simon McVittie <smcv@collabora.com> | 2022-10-27 12:58:53 +0100 |
---|---|---|
committer | Simon McVittie <smcv@collabora.com> | 2022-10-27 14:50:48 +0100 |
commit | a62dd272d8acc38e90a9320f274ec0a4ddb4e45a (patch) | |
tree | 0b1717a131a37cd1f0f5c05ac1cca93efbe74dd0 /gmodule | |
parent | c59d553890b8eed712f5c3eab2edf934b95049f9 (diff) | |
download | glib-a62dd272d8acc38e90a9320f274ec0a4ddb4e45a.tar.gz |
tests: Test that we can include all headers with an old MAX_VERSION
In principle we could script this so that each max-version.c is compiled
26 times, once per possible MAX_VERSION, but I haven't implemented
that here: just pinning to the oldest possible version is sufficient to
reproduce #2796.
These aren't included in the installed-tests, since they don't really
do anything at runtime (the important thing is that they compile
without warnings).
Reproduces: #2796
Signed-off-by: Simon McVittie <smcv@collabora.com>
Diffstat (limited to 'gmodule')
-rw-r--r-- | gmodule/tests/max-version.c | 46 | ||||
-rw-r--r-- | gmodule/tests/meson.build | 1 |
2 files changed, 47 insertions, 0 deletions
diff --git a/gmodule/tests/max-version.c b/gmodule/tests/max-version.c new file mode 100644 index 000000000..bae63b7bb --- /dev/null +++ b/gmodule/tests/max-version.c @@ -0,0 +1,46 @@ +/* + * Copyright 2022 Collabora Ltd. + * SPDX-License-Identifier: LGPL-2.1-or-later + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General + * Public License along with this library; if not, see + * <http://www.gnu.org/licenses/>. + */ + +#ifndef GLIB_VERSION_MAX_ALLOWED +/* This is the oldest version macro available */ +#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_26 +#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_26 +#endif + +#include <glib.h> + +#include <gmodule.h> + +static void +nothing (void) +{ + /* This doesn't really do anything: the real "test" is at compile time. + * Just make sure the GModule library gets linked. */ + g_debug ("GModule supported: %s", g_module_supported () ? "yes" : "no"); +} + +int +main (int argc, + char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/max-version/tested-at-compile-time", nothing); + return g_test_run (); +} diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build index a751f3185..9e4f5a39d 100644 --- a/gmodule/tests/meson.build +++ b/gmodule/tests/meson.build @@ -1,4 +1,5 @@ gmodule_tests = { + 'max-version' : {'install': false}, 'module-test-library' : { 'export_dynamic' : true, 'source': 'module-test.c', |