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 + * + * 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 . + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GIO headers are valid C++ headers. */ + +#include + +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 + * + * 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 . + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GModule headers are valid C++ headers. */ + +#include + +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 + * + * 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 . + */ + +/* A trivial C++ program to be compiled in C++ mode, which + * smoketests that the GObject headers are valid C++ headers. */ + +#include + +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 -#include -#include -#include - -int -main () -{ - return 0; -} diff --git a/tests/meson.build b/tests/meson.build index b17ec1fc6..34c4df53f 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -50,11 +50,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 = {