diff options
author | Emmanuel Fleury <emmanuel.fleury@gmail.com> | 2021-12-13 16:06:47 +0100 |
---|---|---|
committer | Emmanuel Fleury <emmanuel.fleury@gmail.com> | 2021-12-14 14:43:03 +0100 |
commit | ae345e56c25e5b7452e3ce7c94611e7a71911047 (patch) | |
tree | ccff615123db151c1dfcb96428e967238a47800c | |
parent | ce57cc1c02b8cab62a151884d873e8a8dd1b2e65 (diff) | |
download | glib-ae345e56c25e5b7452e3ce7c94611e7a71911047.tar.gz |
Distribute cxx test tests/cxx-test.cpp to each module tests directory
tests/cxx-test.cpp is removed and splitted into gio/tests/cxx.cpp,
gmodule/tests/cxx.cpp and gobject/tests/cxx.cpp.
Helps issue #1434
-rw-r--r-- | gio/tests/cxx.cpp | 26 | ||||
-rw-r--r-- | gio/tests/meson.build | 3 | ||||
-rw-r--r-- | gmodule/meson.build | 4 | ||||
-rw-r--r-- | gmodule/tests/cxx.cpp | 26 | ||||
-rw-r--r-- | gmodule/tests/meson.build | 45 | ||||
-rw-r--r-- | gobject/tests/cxx.cpp | 26 | ||||
-rw-r--r-- | gobject/tests/meson.build | 3 | ||||
-rw-r--r-- | tests/cxx-test.cpp | 10 | ||||
-rw-r--r-- | tests/meson.build | 5 |
9 files changed, 133 insertions, 15 deletions
diff --git a/gio/tests/cxx.cpp b/gio/tests/cxx.cpp new file mode 100644 index 000000000..1f28d0b27 --- /dev/null +++ b/gio/tests/cxx.cpp @@ -0,0 +1,26 @@ +/* Copyright (C) 2001 Sebastian Wilhelmi <wilhelmi@google.com> + * + * 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/>. + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GIO headers are valid C++ headers. */ + +#include <gio/gio.h> + +int +main () +{ + return 0; +} diff --git a/gio/tests/meson.build b/gio/tests/meson.build index b563e8dde..f8cf7b655 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -52,6 +52,9 @@ gio_tests = { 'contenttype' : {}, 'converter-stream' : {}, 'credentials' : {}, + 'cxx' : { + 'source' : ['cxx.cpp'], + }, 'data-input-stream' : {}, 'data-output-stream' : {}, 'defaultvalue' : {'extra_sources' : [giotypefuncs_inc]}, diff --git a/gmodule/meson.build b/gmodule/meson.build index b1a5a11a9..7e007a87e 100644 --- a/gmodule/meson.build +++ b/gmodule/meson.build @@ -126,3 +126,7 @@ if meson.version().version_compare('>=0.54.0') meson.override_dependency('gmodule-export-2.0', libgmodule_dep) meson.override_dependency('gmodule-2.0', libgmodule_dep) endif + +if build_tests + subdir('tests') +endif diff --git a/gmodule/tests/cxx.cpp b/gmodule/tests/cxx.cpp new file mode 100644 index 000000000..85242c59a --- /dev/null +++ b/gmodule/tests/cxx.cpp @@ -0,0 +1,26 @@ +/* Copyright (C) 2001 Sebastian Wilhelmi <wilhelmi@google.com> + * + * 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/>. + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GModule headers are valid C++ headers. */ + +#include <gmodule.h> + +int +main () +{ + return 0; +} diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build new file mode 100644 index 000000000..9b475a88e --- /dev/null +++ b/gmodule/tests/meson.build @@ -0,0 +1,45 @@ +gmodule_tests = { + 'cxx' : { + 'source' : ['cxx.cpp'], + }, +} + +test_env = environment() +test_env.set('G_TEST_SRCDIR', meson.current_source_dir()) +test_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) +test_env.set('G_DEBUG', 'gc-friendly') +test_env.set('MALLOC_CHECK_', '2') +test_env.set('MALLOC_PERTURB_', '@0@'.format(random_number % 256)) + +test_deps = [libm, thread_dep, libglib_dep, libgmodule_dep] +test_cargs = ['-DG_LOG_DOMAIN="GModule"', '-UG_DISABLE_ASSERT'] + +foreach test_name, extra_args : gmodule_tests + source = extra_args.get('source', test_name + '.c') + install = installed_tests_enabled and extra_args.get('install', true) + + if install + test_conf = configuration_data() + test_conf.set('installed_tests_dir', installed_tests_execdir) + test_conf.set('program', test_name) + test_conf.set('env', '') + configure_file( + input: installed_tests_template_tap, + output: test_name + '.test', + install_dir: installed_tests_metadir, + configuration: test_conf + ) + endif + + exe = executable(test_name, source, + c_args : test_cargs + extra_args.get('c_args', []), + link_args : extra_args.get('link_args', []), + dependencies : test_deps + extra_args.get('dependencies', []), + install_dir: installed_tests_execdir, + install: install, + ) + + suite = ['gmodule'] + extra_args.get('suite', []) + timeout = suite.contains('slow') ? test_timeout_slow : test_timeout + test(test_name, exe, env : test_env, timeout : timeout, suite : suite) +endforeach diff --git a/gobject/tests/cxx.cpp b/gobject/tests/cxx.cpp new file mode 100644 index 000000000..210c897ee --- /dev/null +++ b/gobject/tests/cxx.cpp @@ -0,0 +1,26 @@ +/* Copyright (C) 2001 Sebastian Wilhelmi <wilhelmi@google.com> + * + * 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/>. + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GObject headers are valid C++ headers. */ + +#include <glib-object.h> + +int +main () +{ + return 0; +} diff --git a/gobject/tests/meson.build b/gobject/tests/meson.build index e97e1bc7e..54e0a76b9 100644 --- a/gobject/tests/meson.build +++ b/gobject/tests/meson.build @@ -29,6 +29,9 @@ marshalers_c = custom_target('marshalers_c', gobject_tests = { 'qdata' : {}, 'boxed' : {}, + 'cxx' : { + 'source' : ['cxx.cpp'], + }, 'enums' : {}, 'param' : {}, 'threadtests' : {}, diff --git a/tests/cxx-test.cpp b/tests/cxx-test.cpp deleted file mode 100644 index c076e884d..000000000 --- a/tests/cxx-test.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include <glib.h> -#include <gmodule.h> -#include <glib-object.h> -#include <gio/gio.h> - -int -main () -{ - return 0; -} diff --git a/tests/meson.build b/tests/meson.build index 8caeb8243..8ab147d3e 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -51,11 +51,6 @@ tests = { 'source': 'module-test.c', 'c_args': ['-DMODULE_TYPE="plugin"'], }, - 'cxx-test' : { - 'source' : 'cxx-test.cpp', - 'include_directories' : gmoduleinc, - 'dependencies' : [libgio_dep], - }, } test_extra_programs = { |