tests: move to tests/, make optional

While not recommended, sometimes it can be useful to disable building
the unit tests. This can be done now with
    meson -Dtests=disabled build
This commit is contained in:
Dirk-Jan C. Binnema
2024-01-06 18:35:22 +02:00
parent 8db0c4e3d8
commit 30b8238522
11 changed files with 350 additions and 300 deletions

View File

@ -1,4 +1,4 @@
## Copyright (C) 2022 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## Copyright (C) 2022-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
##
## 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
@ -109,24 +109,6 @@ install_data(mu_guile_scripts, install_dir: mu_guile_script_dir)
guile_builddir=meson.current_build_dir()
#
# guile test; does't work wit asan.
#
if get_option('b_sanitize') == 'none'
guile_load_path=':'.join([
join_paths(meson.project_source_root(), 'guile'),
meson.current_build_dir()])
test('test-mu-guile',
executable('test-mu-guile',
join_paths('tests', 'test-mu-guile.cc'),
install: false,
cpp_args: [
'-DABS_SRCDIR="' + join_paths(meson.current_source_dir(), 'tests') + '"',
'-DGUILE_LOAD_PATH="' + guile_load_path + '"',
'-DGUILE_EXTENSIONS_PATH="' + guile_load_path + '"'
],
dependencies: [glib_dep, lib_mu_dep]))
else
message('sanitizer build; skip guile test')
if not get_option('tests').disabled()
subdir('tests')
endif

38
guile/tests/meson.build Normal file
View File

@ -0,0 +1,38 @@
## Copyright (C) 2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
##
## 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 3 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.
#
# guile test; does't work wit asan.
#
if get_option('b_sanitize') == 'none'
guile_load_path=':'.join([
join_paths(meson.project_source_root(), 'guile'),
meson.current_build_dir()])
test('test-mu-guile',
executable('test-mu-guile',
'test-mu-guile.cc',
install: false,
cpp_args: [
'-DABS_SRCDIR="' + meson.current_source_dir() + '"',
'-DGUILE_LOAD_PATH="' + guile_load_path + '"',
'-DGUILE_EXTENSIONS_PATH="' + guile_load_path + '"'
],
dependencies: [glib_dep, lib_mu_dep]))
else
message('sanitizer build; skip guile test')
endif