From 34d3bf2e28138f31faaed55ba98c3088449c9fdf Mon Sep 17 00:00:00 2001 From: "Dirk-Jan C. Binnema" Date: Fri, 15 Aug 2025 21:01:05 +0300 Subject: [PATCH] tests: only build when needed Build the tests lazily, i.e., not before `meson test`. This helps with build-times. --- guile/tests/meson.build | 3 ++- lib/message/tests/meson.build | 10 +++++++++- lib/tests/meson.build | 19 +++++++++++++++++-- lib/utils/tests/meson.build | 12 +++++++++++- mu/tests/meson.build | 14 +++++++++++++- scm/meson.build | 1 + 6 files changed, 53 insertions(+), 6 deletions(-) diff --git a/guile/tests/meson.build b/guile/tests/meson.build index 07b37905..05bb14e8 100644 --- a/guile/tests/meson.build +++ b/guile/tests/meson.build @@ -1,4 +1,4 @@ -## Copyright (C) 2024 Dirk-Jan C. Binnema +## Copyright (C) 2025 Dirk-Jan C. Binnema ## ## 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 @@ -27,6 +27,7 @@ if get_option('b_sanitize') == 'none' executable('test-mu-guile', 'test-mu-guile.cc', install: false, + build_by_default: false, cpp_args: [ '-DABS_SRCDIR="' + meson.current_source_dir() + '"', '-DGUILE_LOAD_PATH="' + guile_load_path + '"', diff --git a/lib/message/tests/meson.build b/lib/message/tests/meson.build index 94d0de92..880a1882 100644 --- a/lib/message/tests/meson.build +++ b/lib/message/tests/meson.build @@ -1,4 +1,4 @@ -## Copyright (C) 2022-2024 Dirk-Jan C. Binnema +## Copyright (C) 2022-2025 Dirk-Jan C. Binnema ## ## 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 @@ -22,6 +22,7 @@ test('test-contact', executable('test-contact', '../mu-contact.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) @@ -29,6 +30,7 @@ test('test-document', executable('test-document', '../mu-document.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) @@ -36,6 +38,7 @@ test('test-fields', executable('test-fields', '../mu-fields.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) @@ -43,6 +46,7 @@ test('test-flags', executable('test-flags', '../mu-flags.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) @@ -50,12 +54,14 @@ test('test-message', executable('test-message', '../test-mu-message.cc', install: false, + build_by_default: false, dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) test('test-priority', executable('test-priority', '../mu-priority.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) @@ -63,6 +69,7 @@ test('test-message-file', executable('test-message-file', '../mu-message-file.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_message_dep])) @@ -70,5 +77,6 @@ test('test-message-part', executable('test-message-part', '../mu-message-part.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_message_dep])) diff --git a/lib/tests/meson.build b/lib/tests/meson.build index 39b5b38d..c5aee49d 100644 --- a/lib/tests/meson.build +++ b/lib/tests/meson.build @@ -1,4 +1,4 @@ -## Copyright (C) 2021-2024 Dirk-Jan C. Binnema +## Copyright (C) 2021-2025 Dirk-Jan C. Binnema ## ## 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 @@ -18,7 +18,6 @@ # tests # - # # unit tests # @@ -27,12 +26,15 @@ test('test-threads', executable('test-threads', '../mu-query-threads.cc', install: false, + build_by_default: 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, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -40,6 +42,7 @@ test('test-config', executable('test-config', '../mu-config.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -47,6 +50,7 @@ test('test-query-macros', executable('test-query-macros', '../mu-query-macros.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [lib_mu_dep])) @@ -54,6 +58,7 @@ test('test-query-processor', executable('test-query-processor', '../mu-query-processor.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [lib_mu_dep])) @@ -61,6 +66,7 @@ test('test-query-parser', executable('test-query-parser', '../mu-query-parser.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [lib_mu_dep])) @@ -68,6 +74,7 @@ test('test-query-xapianizer', executable('test-query-xapianizer', '../mu-query-xapianizer.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [lib_mu_dep])) @@ -76,6 +83,7 @@ test('test-indexer', executable('test-indexer', '../mu-indexer.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, config_h_dep, lib_mu_dep])) @@ -84,6 +92,7 @@ test('test-scanner', executable('test-scanner', '../mu-scanner.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, config_h_dep, lib_mu_utils_dep])) @@ -92,6 +101,7 @@ test('test-xapian-db', executable('test-xapian-db', '../mu-xapian-db.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [lib_mu_dep, config_h_dep])) @@ -99,27 +109,32 @@ test('test-maildir', executable('test-maildir', 'test-mu-maildir.cc', install: false, + build_by_default: false, dependencies: [glib_dep, lib_mu_dep])) test('test-msg', executable('test-msg', 'test-mu-msg.cc', install: false, + build_by_default: false, dependencies: [glib_dep, lib_mu_dep])) test('test-store', executable('test-store', 'test-mu-store.cc', install: false, + build_by_default: false, dependencies: [glib_dep, lib_mu_dep])) test('test-query', executable('test-query', 'test-query.cc', install: false, + build_by_default: false, dependencies: [glib_dep, gmime_dep, lib_mu_dep])) test('test-store-query', executable('test-store-query', 'test-mu-store-query.cc', install: false, + build_by_default: false, dependencies: [glib_dep, gmime_dep, lib_mu_dep])) # # benchmarks diff --git a/lib/utils/tests/meson.build b/lib/utils/tests/meson.build index 6fa3d170..2df2ad7c 100644 --- a/lib/utils/tests/meson.build +++ b/lib/utils/tests/meson.build @@ -1,4 +1,4 @@ -## Copyright (C) 2021-2024 Dirk-Jan C. Binnema +## Copyright (C) 2021-2025 Dirk-Jan C. Binnema ## ## 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 @@ -25,54 +25,63 @@ test('test-sexp', executable('test-sexp', '../mu-sexp.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep])) test('test-regex', executable('test-regex', '../mu-regex.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep])) test('test-command-handler', executable('test-command-handler', '../mu-command-handler.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep])) test('test-utils-file', executable('test-utils-file', '../mu-utils-file.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, gio_unix_dep,config_h_dep, lib_mu_utils_dep])) test('test-logger', executable('test-logger', '../mu-logger.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep,config_h_dep,thread_dep ])) test('test-option', executable('test-option', '../mu-option.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep ])) test('test-lang-detector', executable('test-lang-detector', '../mu-lang-detector.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [ config_h_dep, glib_dep, lib_mu_utils_dep ])) test('test-html-to-text', executable('test-html-to-text', '../mu-html-to-text.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep])) test('test-error', executable('test-error', '../mu-error.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_utils_dep])) @@ -80,4 +89,5 @@ test('test-mu-utils', executable('test-mu-utils', 'test-utils.cc', install: false, + build_by_default: false, dependencies: [glib_dep, lib_mu_utils_dep])) diff --git a/mu/tests/meson.build b/mu/tests/meson.build index cc8a3429..5476af71 100644 --- a/mu/tests/meson.build +++ b/mu/tests/meson.build @@ -1,4 +1,4 @@ -## Copyright (C) 2022-2024 Dirk-Jan C. Binnema +## Copyright (C) 2022-2025 Dirk-Jan C. Binnema ## ## 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 @@ -23,6 +23,7 @@ test('test-cmd-add', executable('test-cmd-add', '../mu-cmd-add.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -30,6 +31,7 @@ test('test-cmd-cfind', executable('test-cmd-cfind', '../mu-cmd-cfind.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -37,6 +39,7 @@ test('test-cmd-extract', executable('test-cmd-extract', '../mu-cmd-extract.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -44,6 +47,7 @@ test('test-cmd-find', executable('test-cmd-find', '../mu-cmd-find.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -51,6 +55,7 @@ test('test-cmd-index', executable('test-cmd-index', '../mu-cmd-index.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -58,6 +63,7 @@ test('test-cmd-init', executable('test-cmd-init', '../mu-cmd-init.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -65,6 +71,7 @@ test('test-cmd-mkdir', executable('test-cmd-mkdir', '../mu-cmd-mkdir.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -72,6 +79,7 @@ test('test-cmd-move', executable('test-cmd-move', '../mu-cmd-move.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -79,6 +87,7 @@ test('test-cmd-remove', executable('test-cmd-remove', '../mu-cmd-remove.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -86,6 +95,7 @@ test('test-cmd-verify', executable('test-cmd-verify', '../mu-cmd-verify.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -93,6 +103,7 @@ test('test-cmd-view', executable('test-cmd-view', '../mu-cmd-view.cc', install: false, + build_by_default: false, cpp_args: ['-DBUILD_TESTS'], dependencies: [glib_dep, lib_mu_dep])) @@ -100,6 +111,7 @@ test('test-cmd-query', executable('test-cmd-query', 'test-mu-query.cc', install: false, + build_by_default: false, dependencies: [glib_dep, config_h_dep, lib_mu_dep])) gmime_test = executable( diff --git a/scm/meson.build b/scm/meson.build index d0a4b2a2..f7ef0f70 100644 --- a/scm/meson.build +++ b/scm/meson.build @@ -67,6 +67,7 @@ if not get_option('tests').disabled() executable('test-scm', 'mu-scm.cc', install: false, + build_by_default: false, dependencies: [mu_scm_dep], cpp_args: [mu_scm_dir_arg, def_srcdir, '-DBUILD_TESTS'])) endif