build: Add a new "tests" option to disable building tests

This commit is contained in:
Yuri D'Elia 2023-11-02 11:42:56 +01:00
parent 5b29ad8b6d
commit f366125076
6 changed files with 271 additions and 254 deletions

View File

@ -94,74 +94,76 @@ list_maildirs = executable('list-maildirs', 'mu-scanner.cc',
# unit tests # unit tests
# #
test('test-threads', if not get_option('tests').disabled()
executable('test-threads', test('test-threads',
'mu-query-threads.cc', executable('test-threads',
install: false, 'mu-query-threads.cc',
cpp_args: ['-DBUILD_TESTS'], install: false,
dependencies: [glib_dep, lib_mu_dep])) cpp_args: ['-DBUILD_TESTS'],
test('test-contacts-cache', dependencies: [glib_dep, lib_mu_dep]))
executable('test-contacts-cache', test('test-contacts-cache',
'mu-contacts-cache.cc', executable('test-contacts-cache',
install: false, 'mu-contacts-cache.cc',
cpp_args: ['-DBUILD_TESTS'], install: false,
dependencies: [glib_dep, lib_mu_dep])) cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))
test('test-config', test('test-config',
executable('test-config', executable('test-config',
'mu-config.cc', 'mu-config.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-query-macros', test('test-query-macros',
executable('test-query-macros', executable('test-query-macros',
'mu-query-macros.cc', 'mu-query-macros.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
test('test-query-processor', test('test-query-processor',
executable('test-query-processor', executable('test-query-processor',
'mu-query-processor.cc', 'mu-query-processor.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
test('test-query-parser', test('test-query-parser',
executable('test-query-parser', executable('test-query-parser',
'mu-query-parser.cc', 'mu-query-parser.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
test('test-query-xapianizer', test('test-query-xapianizer',
executable('test-query-xapianizer', executable('test-query-xapianizer',
'mu-query-xapianizer.cc', 'mu-query-xapianizer.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep])) dependencies: [lib_mu_dep]))
test('test-indexer', test('test-indexer',
executable('test-indexer', 'mu-indexer.cc', executable('test-indexer', 'mu-indexer.cc',
install: false, install: 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]))
test('test-scanner', test('test-scanner',
executable('test-scanner', 'mu-scanner.cc', executable('test-scanner', 'mu-scanner.cc',
install: false, install: 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]))
test('test-xapian-db', test('test-xapian-db',
executable('test-xapian-db', 'mu-xapian-db.cc', executable('test-xapian-db', 'mu-xapian-db.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [lib_mu_dep, config_h_dep])) dependencies: [lib_mu_dep, config_h_dep]))
subdir('tests') subdir('tests')
endif

View File

@ -46,57 +46,59 @@ lib_mu_message_dep = declare_dependency(
# tests # tests
# #
test('test-contact', if not get_option('tests').disabled()
executable('test-contact', test('test-contact',
'mu-contact.cc', executable('test-contact',
install: false, 'mu-contact.cc',
cpp_args: ['-DBUILD_TESTS'], install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep])) cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, gmime_dep, lib_mu_message_dep]))
test('test-document', test('test-document',
executable('test-document', executable('test-document',
'mu-document.cc', 'mu-document.cc',
install: false, install: 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]))
test('test-fields', test('test-fields',
executable('test-fields', executable('test-fields',
'mu-fields.cc', 'mu-fields.cc',
install: false, install: 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]))
test('test-flags', test('test-flags',
executable('test-flags', executable('test-flags',
'mu-flags.cc', 'mu-flags.cc',
install: false, install: 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]))
test('test-message', test('test-message',
executable('test-message', executable('test-message',
'test-mu-message.cc', 'test-mu-message.cc',
install: false, install: 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,
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]))
test('test-message-file', test('test-message-file',
executable('test-message-file', executable('test-message-file',
'mu-message-file.cc', 'mu-message-file.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep])) dependencies: [glib_dep, lib_mu_message_dep]))
test('test-message-part', test('test-message-part',
executable('test-message-part', executable('test-message-part',
'mu-message-part.cc', 'mu-message-part.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_message_dep])) dependencies: [glib_dep, lib_mu_message_dep]))
endif

View File

@ -17,53 +17,56 @@
# #
# tests # tests
# #
test('test-maildir',
executable('test-maildir',
'test-mu-maildir.cc',
install: false,
dependencies: [glib_dep, lib_mu_dep]))
test('test-msg',
executable('test-msg',
'test-mu-msg.cc',
install: false,
dependencies: [glib_dep, lib_mu_dep]))
test('test-store',
executable('test-store',
'test-mu-store.cc',
install: false,
dependencies: [glib_dep, lib_mu_dep]))
test('test-query',
executable('test-query',
'test-query.cc',
install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_dep]))
test('test-store-query', if not get_option('tests').disabled()
executable('test-store-query', test('test-maildir',
'test-mu-store-query.cc', executable('test-maildir',
install: false, 'test-mu-maildir.cc',
dependencies: [glib_dep, gmime_dep, lib_mu_dep])) install: false,
# dependencies: [glib_dep, lib_mu_dep]))
# benchmarks test('test-msg',
# executable('test-msg',
bench_maildirs=join_paths(meson.current_build_dir(), 'maildirs') 'test-mu-msg.cc',
bench_store=join_paths(meson.current_build_dir(), 'store') install: false,
bench_indexer_exe = executable( dependencies: [glib_dep, lib_mu_dep]))
'bench-indexer', test('test-store',
'bench-indexer.cc', executable('test-store',
install:false, 'test-mu-store.cc',
cpp_args:['-DBENCH_MAILDIRS="' + bench_maildirs + '"', install: false,
'-DBENCH_STORE="' + bench_store + '"', dependencies: [glib_dep, lib_mu_dep]))
], test('test-query',
dependencies: [lib_mu_dep, glib_dep]) executable('test-query',
'test-query.cc',
install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_dep]))
benchmark('bench-indexer', bench_indexer_exe, args: ['-m', 'perf']) test('test-store-query',
executable('test-store-query',
'test-mu-store-query.cc',
install: false,
dependencies: [glib_dep, gmime_dep, lib_mu_dep]))
#
# benchmarks
#
bench_maildirs=join_paths(meson.current_build_dir(), 'maildirs')
bench_store=join_paths(meson.current_build_dir(), 'store')
bench_indexer_exe = executable(
'bench-indexer',
'bench-indexer.cc',
install:false,
cpp_args:['-DBENCH_MAILDIRS="' + bench_maildirs + '"',
'-DBENCH_STORE="' + bench_store + '"',
],
dependencies: [lib_mu_dep, glib_dep])
# benchmark('bench-indexer', bench_indexer_exe, args: ['-m', 'perf'])
# below does _not_ pass; it is believed that it's a false alarm.
# https://gitlab.gnome.org/GNOME/glib/-/issues/2662
# also register benchmark as a normal test so it gets included for #
# valgrind/helgrind etc. # below does _not_ pass; it is believed that it's a false alarm.
# test('test-bench-indexer', bench_indexer_exe, # https://gitlab.gnome.org/GNOME/glib/-/issues/2662
# args : ['-m', 'quick'], env: ['THREADNUM=16'])
# also register benchmark as a normal test so it gets included for
# valgrind/helgrind etc.
# test('test-bench-indexer', bench_indexer_exe,
# args : ['-m', 'quick'], env: ['THREADNUM=16'])
endif

View File

@ -57,59 +57,62 @@ html2text = executable('mu-html2text',
# #
# tests # tests
# #
test('test-sexp',
executable('test-sexp', 'mu-sexp.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-regex', if not get_option('tests').disabled()
executable('test-regex', 'mu-regex.cc', test('test-sexp',
install: false, executable('test-sexp', 'mu-sexp.cc',
cpp_args: ['-DBUILD_TESTS'], install: false,
dependencies: [glib_dep, lib_mu_utils_dep])) cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep]))
test('test-command-handler', test('test-regex',
executable('test-command-handler', 'mu-command-handler.cc', executable('test-regex', 'mu-regex.cc',
install: false, install: 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-command-handler',
executable('test-utils-file', 'mu-utils-file.cc', executable('test-command-handler', 'mu-command-handler.cc',
install: false, install: 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, lib_mu_utils_dep]))
test('test-logger', test('test-utils-file',
executable('test-logger', 'mu-logger.cc', executable('test-utils-file', 'mu-utils-file.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep, thread_dep ])) dependencies: [glib_dep, gio_unix_dep,config_h_dep, lib_mu_utils_dep]))
test('test-option', test('test-logger',
executable('test-option', 'mu-option.cc', executable('test-logger', 'mu-logger.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep ])) dependencies: [glib_dep, lib_mu_utils_dep, thread_dep ]))
test('test-lang-detector', test('test-option',
executable('test-lang-detector', 'mu-lang-detector.cc', executable('test-option', 'mu-option.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [ config_h_dep, glib_dep, lib_mu_utils_dep ])) dependencies: [glib_dep, lib_mu_utils_dep ]))
test('test-html-to-text', test('test-lang-detector',
executable('test-html-to-text', 'mu-html-to-text.cc', executable('test-lang-detector', 'mu-lang-detector.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep])) dependencies: [ config_h_dep, glib_dep, lib_mu_utils_dep ]))
test('test-error', test('test-html-to-text',
executable('test-error', 'mu-error.cc', executable('test-html-to-text', 'mu-html-to-text.cc',
install: false, install: 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',
executable('test-error', 'mu-error.cc',
install: false,
cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_utils_dep]))
subdir('tests') subdir('tests')
endif

View File

@ -15,6 +15,11 @@
## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
option('tests',
type: 'feature',
value: 'auto',
description: 'build tests')
option('guile', option('guile',
type : 'feature', type : 'feature',
value: 'auto', value: 'auto',

View File

@ -42,68 +42,70 @@ mu = executable(
# tests # tests
# #
test('test-cmd-add', if not get_option('tests').disabled()
executable('test-cmd-add', test('test-cmd-add',
'mu-cmd-add.cc', executable('test-cmd-add',
install: false, 'mu-cmd-add.cc',
cpp_args: ['-DBUILD_TESTS'], install: false,
dependencies: [glib_dep, lib_mu_dep])) cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-cfind', test('test-cmd-cfind',
executable('test-cmd-cfind', executable('test-cmd-cfind',
'mu-cmd-cfind.cc', 'mu-cmd-cfind.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-extract', test('test-cmd-extract',
executable('test-cmd-extract', executable('test-cmd-extract',
'mu-cmd-extract.cc', 'mu-cmd-extract.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-find', test('test-cmd-find',
executable('test-cmd-find', executable('test-cmd-find',
'mu-cmd-find.cc', 'mu-cmd-find.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-mkdir', test('test-cmd-mkdir',
executable('test-cmd-mkdir', executable('test-cmd-mkdir',
'mu-cmd-mkdir.cc', 'mu-cmd-mkdir.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-move', test('test-cmd-move',
executable('test-cmd-move', executable('test-cmd-move',
'mu-cmd-move.cc', 'mu-cmd-move.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-remove', test('test-cmd-remove',
executable('test-cmd-remove', executable('test-cmd-remove',
'mu-cmd-remove.cc', 'mu-cmd-remove.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-verify', test('test-cmd-verify',
executable('test-cmd-verify', executable('test-cmd-verify',
'mu-cmd-verify.cc', 'mu-cmd-verify.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
test('test-cmd-view', test('test-cmd-view',
executable('test-cmd-view', executable('test-cmd-view',
'mu-cmd-view.cc', 'mu-cmd-view.cc',
install: false, install: false,
cpp_args: ['-DBUILD_TESTS'], cpp_args: ['-DBUILD_TESTS'],
dependencies: [glib_dep, lib_mu_dep])) dependencies: [glib_dep, lib_mu_dep]))
subdir('tests') subdir('tests')
endif