Skip to content

Commit

Permalink
tests: move to tests/, make optional
Browse files Browse the repository at this point in the history
While not recommended, sometimes it can be useful to disable building
the unit tests. This can be done now with
    meson -Dtests=disabled build
  • Loading branch information
djcb committed Jan 6, 2024
1 parent 8db0c4e commit 30b8238
Show file tree
Hide file tree
Showing 11 changed files with 350 additions and 300 deletions.
24 changes: 3 additions & 21 deletions guile/meson.build
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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 changes: 38 additions & 0 deletions guile/tests/meson.build
Original file line number Diff line number Diff line change
@@ -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
78 changes: 3 additions & 75 deletions lib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -90,78 +90,6 @@ list_maildirs = executable('list-maildirs', 'mu-scanner.cc',
dependencies: [glib_dep, config_h_dep,
lib_mu_utils_dep])

#
# unit tests
#

test('test-threads',
executable('test-threads',
'mu-query-threads.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))
test('test-contacts-cache',
executable('test-contacts-cache',
'mu-contacts-cache.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))

test('test-config',
executable('test-config',
'mu-config.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))

test('test-query-macros',
executable('test-query-macros',
'mu-query-macros.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-processor',
executable('test-query-processor',
'mu-query-processor.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-parser',
executable('test-query-parser',
'mu-query-parser.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-xapianizer',
executable('test-query-xapianizer',
'mu-query-xapianizer.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))


test('test-indexer',
executable('test-indexer', 'mu-indexer.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep,
lib_mu_dep]))

test('test-scanner',
executable('test-scanner', 'mu-scanner.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep,
lib_mu_utils_dep]))

test('test-xapian-db',
executable('test-xapian-db', 'mu-xapian-db.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep, config_h_dep]))


subdir('tests')
if not get_option('tests').disabled()
subdir('tests')
endif
63 changes: 4 additions & 59 deletions lib/message/meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Copyright (C) 2022-2023 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
Expand Down Expand Up @@ -42,61 +42,6 @@ lib_mu_message_dep = declare_dependency(
include_directories:
include_directories(['.', '..']))

#
# tests
#

test('test-contact',
executable('test-contact',
'mu-contact.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-document',
executable('test-document',
'mu-document.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-fields',
executable('test-fields',
'mu-fields.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-flags',
executable('test-flags',
'mu-flags.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-message',
executable('test-message',
'test-mu-message.cc',
install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-priority',
executable('test-priority',
'mu-priority.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-message-file',
executable('test-message-file',
'mu-message-file.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep]))

test('test-message-part',
executable('test-message-part',
'mu-message-part.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep]))
if not get_option('tests').disabled()
subdir('tests')
endif
74 changes: 74 additions & 0 deletions lib/message/tests/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
## 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
## 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.

#
# tests
#

test('test-contact',
executable('test-contact',
'../mu-contact.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-document',
executable('test-document',
'../mu-document.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-fields',
executable('test-fields',
'../mu-fields.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-flags',
executable('test-flags',
'../mu-flags.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-message',
executable('test-message',
'../test-mu-message.cc',
install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-priority',
executable('test-priority',
'../mu-priority.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))

test('test-message-file',
executable('test-message-file',
'../mu-message-file.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep]))

test('test-message-part',
executable('test-message-part',
'../mu-message-part.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep]))
80 changes: 79 additions & 1 deletion lib/tests/meson.build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Copyright (C) 2021-2023 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## Copyright (C) 2021-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
Expand All @@ -17,6 +17,84 @@
#
# tests
#


#
# unit tests
#

test('test-threads',
executable('test-threads',
'../mu-query-threads.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))
test('test-contacts-cache',
executable('test-contacts-cache',
'../mu-contacts-cache.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))

test('test-config',
executable('test-config',
'../mu-config.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))

test('test-query-macros',
executable('test-query-macros',
'../mu-query-macros.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-processor',
executable('test-query-processor',
'../mu-query-processor.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-parser',
executable('test-query-parser',
'../mu-query-parser.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))

test('test-query-xapianizer',
executable('test-query-xapianizer',
'../mu-query-xapianizer.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep]))


test('test-indexer',
executable('test-indexer',
'../mu-indexer.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep,
lib_mu_dep]))

test('test-scanner',
executable('test-scanner',
'../mu-scanner.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep,
lib_mu_utils_dep]))

test('test-xapian-db',
executable('test-xapian-db',
'../mu-xapian-db.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep, config_h_dep]))

test('test-maildir',
executable('test-maildir',
'test-mu-maildir.cc',
Expand Down
Loading

0 comments on commit 30b8238

Please sign in to comment.