tests: only build when needed

Build the tests lazily, i.e., not before `meson test`. This helps with
build-times.
This commit is contained in:
Dirk-Jan C. Binnema
2025-08-15 21:01:05 +03:00
parent 0714873978
commit 34d3bf2e28
6 changed files with 53 additions and 6 deletions

View File

@ -1,4 +1,4 @@
## Copyright (C) 2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ## Copyright (C) 2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## ##
## This program is free software; you can redistribute it and/or modify ## 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 ## it under the terms of the GNU General Public License as published by
@ -27,6 +27,7 @@ if get_option('b_sanitize') == 'none'
executable('test-mu-guile', executable('test-mu-guile',
'test-mu-guile.cc', 'test-mu-guile.cc',
install: false, install: false,
build_by_default: false,
cpp_args: [ cpp_args: [
'-DABS_SRCDIR="' + meson.current_source_dir() + '"', '-DABS_SRCDIR="' + meson.current_source_dir() + '"',
'-DGUILE_LOAD_PATH="' + guile_load_path + '"', '-DGUILE_LOAD_PATH="' + guile_load_path + '"',

View File

@ -1,4 +1,4 @@
## Copyright (C) 2022-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ## Copyright (C) 2022-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## ##
## This program is free software; you can redistribute it and/or modify ## 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 ## it under the terms of the GNU General Public License as published by
@ -22,6 +22,7 @@ test('test-contact',
executable('test-contact', executable('test-contact',
'../mu-contact.cc', '../mu-contact.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
@ -29,6 +30,7 @@ test('test-document',
executable('test-document', executable('test-document',
'../mu-document.cc', '../mu-document.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
@ -36,6 +38,7 @@ test('test-fields',
executable('test-fields', executable('test-fields',
'../mu-fields.cc', '../mu-fields.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
@ -43,6 +46,7 @@ test('test-flags',
executable('test-flags', executable('test-flags',
'../mu-flags.cc', '../mu-flags.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
@ -50,12 +54,14 @@ test('test-message',
executable('test-message', executable('test-message',
'../test-mu-message.cc', '../test-mu-message.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
test('test-priority', test('test-priority',
executable('test-priority', executable('test-priority',
'../mu-priority.cc', '../mu-priority.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
@ -63,6 +69,7 @@ test('test-message-file',
executable('test-message-file', executable('test-message-file',
'../mu-message-file.cc', '../mu-message-file.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep])) dependencies: [glib_dep, lib_mu_message_dep]))
@ -70,5 +77,6 @@ test('test-message-part',
executable('test-message-part', executable('test-message-part',
'../mu-message-part.cc', '../mu-message-part.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep])) dependencies: [glib_dep, lib_mu_message_dep]))

View File

@ -1,4 +1,4 @@
## Copyright (C) 2021-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ## Copyright (C) 2021-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## ##
## This program is free software; you can redistribute it and/or modify ## 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 ## it under the terms of the GNU General Public License as published by
@ -18,7 +18,6 @@
# tests # tests
# #
# #
# unit tests # unit tests
# #
@ -27,12 +26,15 @@ test('test-threads',
executable('test-threads', executable('test-threads',
'../mu-query-threads.cc', '../mu-query-threads.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-contacts-cache', test('test-contacts-cache',
executable('test-contacts-cache', executable('test-contacts-cache',
'../mu-contacts-cache.cc', '../mu-contacts-cache.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -40,6 +42,7 @@ test('test-config',
executable('test-config', executable('test-config',
'../mu-config.cc', '../mu-config.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -47,6 +50,7 @@ test('test-query-macros',
executable('test-query-macros', executable('test-query-macros',
'../mu-query-macros.cc', '../mu-query-macros.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
@ -54,6 +58,7 @@ test('test-query-processor',
executable('test-query-processor', executable('test-query-processor',
'../mu-query-processor.cc', '../mu-query-processor.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
@ -61,6 +66,7 @@ test('test-query-parser',
executable('test-query-parser', executable('test-query-parser',
'../mu-query-parser.cc', '../mu-query-parser.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
@ -68,6 +74,7 @@ test('test-query-xapianizer',
executable('test-query-xapianizer', executable('test-query-xapianizer',
'../mu-query-xapianizer.cc', '../mu-query-xapianizer.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
@ -76,6 +83,7 @@ test('test-indexer',
executable('test-indexer', executable('test-indexer',
'../mu-indexer.cc', '../mu-indexer.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep, dependencies: [glib_dep, config_h_dep,
lib_mu_dep])) lib_mu_dep]))
@ -84,6 +92,7 @@ test('test-scanner',
executable('test-scanner', executable('test-scanner',
'../mu-scanner.cc', '../mu-scanner.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, config_h_dep, dependencies: [glib_dep, config_h_dep,
lib_mu_utils_dep])) lib_mu_utils_dep]))
@ -92,6 +101,7 @@ test('test-xapian-db',
executable('test-xapian-db', executable('test-xapian-db',
'../mu-xapian-db.cc', '../mu-xapian-db.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep, config_h_dep])) dependencies: [lib_mu_dep, config_h_dep]))
@ -99,27 +109,32 @@ test('test-maildir',
executable('test-maildir', executable('test-maildir',
'test-mu-maildir.cc', 'test-mu-maildir.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-msg', test('test-msg',
executable('test-msg', executable('test-msg',
'test-mu-msg.cc', 'test-mu-msg.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-store', test('test-store',
executable('test-store', executable('test-store',
'test-mu-store.cc', 'test-mu-store.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-query', test('test-query',
executable('test-query', executable('test-query',
'test-query.cc', 'test-query.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, gmime_dep, lib_mu_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_dep]))
test('test-store-query', test('test-store-query',
executable('test-store-query', executable('test-store-query',
'test-mu-store-query.cc', 'test-mu-store-query.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, gmime_dep, lib_mu_dep])) dependencies: [glib_dep, gmime_dep, lib_mu_dep]))
# #
# benchmarks # benchmarks

View File

@ -1,4 +1,4 @@
## Copyright (C) 2021-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ## Copyright (C) 2021-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## ##
## This program is free software; you can redistribute it and/or modify ## 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 ## it under the terms of the GNU General Public License as published by
@ -25,54 +25,63 @@
test('test-sexp', test('test-sexp',
executable('test-sexp', '../mu-sexp.cc', executable('test-sexp', '../mu-sexp.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-regex', test('test-regex',
executable('test-regex', '../mu-regex.cc', executable('test-regex', '../mu-regex.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-command-handler', test('test-command-handler',
executable('test-command-handler', '../mu-command-handler.cc', executable('test-command-handler', '../mu-command-handler.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-utils-file', test('test-utils-file',
executable('test-utils-file', '../mu-utils-file.cc', executable('test-utils-file', '../mu-utils-file.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gio_unix_dep,config_h_dep, lib_mu_utils_dep])) dependencies: [glib_dep, gio_unix_dep,config_h_dep, lib_mu_utils_dep]))
test('test-logger', test('test-logger',
executable('test-logger', '../mu-logger.cc', executable('test-logger', '../mu-logger.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep,config_h_dep,thread_dep ])) dependencies: [glib_dep, lib_mu_utils_dep,config_h_dep,thread_dep ]))
test('test-option', test('test-option',
executable('test-option', '../mu-option.cc', executable('test-option', '../mu-option.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep ])) dependencies: [glib_dep, lib_mu_utils_dep ]))
test('test-lang-detector', test('test-lang-detector',
executable('test-lang-detector', '../mu-lang-detector.cc', executable('test-lang-detector', '../mu-lang-detector.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [ config_h_dep, glib_dep, lib_mu_utils_dep ])) dependencies: [ config_h_dep, glib_dep, lib_mu_utils_dep ]))
test('test-html-to-text', test('test-html-to-text',
executable('test-html-to-text', '../mu-html-to-text.cc', executable('test-html-to-text', '../mu-html-to-text.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-error', test('test-error',
executable('test-error', '../mu-error.cc', executable('test-error', '../mu-error.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))
@ -80,4 +89,5 @@ test('test-mu-utils',
executable('test-mu-utils', executable('test-mu-utils',
'test-utils.cc', 'test-utils.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [glib_dep, lib_mu_utils_dep]))

View File

@ -1,4 +1,4 @@
## Copyright (C) 2022-2024 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl> ## Copyright (C) 2022-2025 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
## ##
## This program is free software; you can redistribute it and/or modify ## 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 ## it under the terms of the GNU General Public License as published by
@ -23,6 +23,7 @@ test('test-cmd-add',
executable('test-cmd-add', executable('test-cmd-add',
'../mu-cmd-add.cc', '../mu-cmd-add.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -30,6 +31,7 @@ test('test-cmd-cfind',
executable('test-cmd-cfind', executable('test-cmd-cfind',
'../mu-cmd-cfind.cc', '../mu-cmd-cfind.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -37,6 +39,7 @@ test('test-cmd-extract',
executable('test-cmd-extract', executable('test-cmd-extract',
'../mu-cmd-extract.cc', '../mu-cmd-extract.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -44,6 +47,7 @@ test('test-cmd-find',
executable('test-cmd-find', executable('test-cmd-find',
'../mu-cmd-find.cc', '../mu-cmd-find.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -51,6 +55,7 @@ test('test-cmd-index',
executable('test-cmd-index', executable('test-cmd-index',
'../mu-cmd-index.cc', '../mu-cmd-index.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -58,6 +63,7 @@ test('test-cmd-init',
executable('test-cmd-init', executable('test-cmd-init',
'../mu-cmd-init.cc', '../mu-cmd-init.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -65,6 +71,7 @@ test('test-cmd-mkdir',
executable('test-cmd-mkdir', executable('test-cmd-mkdir',
'../mu-cmd-mkdir.cc', '../mu-cmd-mkdir.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -72,6 +79,7 @@ test('test-cmd-move',
executable('test-cmd-move', executable('test-cmd-move',
'../mu-cmd-move.cc', '../mu-cmd-move.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -79,6 +87,7 @@ test('test-cmd-remove',
executable('test-cmd-remove', executable('test-cmd-remove',
'../mu-cmd-remove.cc', '../mu-cmd-remove.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -86,6 +95,7 @@ test('test-cmd-verify',
executable('test-cmd-verify', executable('test-cmd-verify',
'../mu-cmd-verify.cc', '../mu-cmd-verify.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -93,6 +103,7 @@ test('test-cmd-view',
executable('test-cmd-view', executable('test-cmd-view',
'../mu-cmd-view.cc', '../mu-cmd-view.cc',
install: false, install: false,
build_by_default: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
@ -100,6 +111,7 @@ test('test-cmd-query',
executable('test-cmd-query', executable('test-cmd-query',
'test-mu-query.cc', 'test-mu-query.cc',
install: false, install: false,
build_by_default: false,
dependencies: [glib_dep, config_h_dep, lib_mu_dep])) dependencies: [glib_dep, config_h_dep, lib_mu_dep]))
gmime_test = executable( gmime_test = executable(

View File

@ -67,6 +67,7 @@ if not get_option('tests').disabled()
executable('test-scm', executable('test-scm',
'mu-scm.cc', 'mu-scm.cc',
install: false, install: false,
build_by_default: false,
dependencies: [mu_scm_dep], dependencies: [mu_scm_dep],
cpp_args: [mu_scm_dir_arg, def_srcdir, '-DBUILD_TESTS'])) cpp_args: [mu_scm_dir_arg, def_srcdir, '-DBUILD_TESTS']))
endif endif