[glib: 1/2] Distribute cxx test tests/cxx-test.cpp to each module tests directory
- From: Philip Withnall <pwithnall src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/2] Distribute cxx test tests/cxx-test.cpp to each module tests directory
- Date: Tue, 14 Dec 2021 15:23:17 +0000 (UTC)
commit ae345e56c25e5b7452e3ce7c94611e7a71911047
Author: Emmanuel Fleury <emmanuel fleury gmail com>
Date: Mon Dec 13 16:06:47 2021 +0100
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
gio/tests/cxx.cpp | 26 ++++++++++++++++++++++++++
gio/tests/meson.build | 3 +++
gmodule/meson.build | 4 ++++
gmodule/tests/cxx.cpp | 26 ++++++++++++++++++++++++++
gmodule/tests/meson.build | 45 +++++++++++++++++++++++++++++++++++++++++++++
gobject/tests/cxx.cpp | 26 ++++++++++++++++++++++++++
gobject/tests/meson.build | 3 +++
tests/cxx-test.cpp | 10 ----------
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/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 = {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]