diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2018-07-15 12:42:04 +0200 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2018-07-15 14:09:49 +0200 |
commit | 1dbd11bb251e3367fb9bdef9689280a74a64caa2 (patch) | |
tree | b81bcdce05ca7805db1cb0a8de40450e6318b6c6 | |
parent | b288da5d7becdd2c1e3e14f81f87f104915028c7 (diff) | |
download | tracker-1dbd11bb251e3367fb9bdef9689280a74a64caa2.tar.gz |
meson: Rework how unit tests are defined
Today I discovered that three testcases were being ignored in the Meson
buildsystem, all due to mistakes.
Now, the first thing in each meson.build file is the list of testcases
so mistakes should be much easier to spot.
-rw-r--r-- | meson.build | 5 | ||||
-rw-r--r-- | tests/libtracker-common/meson.build | 67 | ||||
-rw-r--r-- | tests/libtracker-data/meson.build | 90 | ||||
-rw-r--r-- | tests/libtracker-fts/meson.build | 5 | ||||
-rw-r--r-- | tests/libtracker-miner/meson.build | 116 | ||||
-rw-r--r-- | tests/libtracker-sparql/meson.build | 35 |
6 files changed, 125 insertions, 193 deletions
diff --git a/meson.build b/meson.build index 7c15bc0a2..dcd2a5031 100644 --- a/meson.build +++ b/meson.build @@ -320,6 +320,11 @@ endif subdir('examples') subdir('utils') +test_c_args = tracker_c_args + [ + '-DTOP_BUILDDIR="@0@"'.format(build_root), + '-DTOP_SRCDIR="@0@"'.format(source_root), +] + subdir('tests') subdir('po') diff --git a/tests/libtracker-common/meson.build b/tests/libtracker-common/meson.build index fc9b26d6a..d11f5ba46 100644 --- a/tests/libtracker-common/meson.build +++ b/tests/libtracker-common/meson.build @@ -1,56 +1,27 @@ -test_c_args = tracker_c_args + [ - '-DTOP_BUILDDIR="@0@"'.format(build_root), - '-DTOP_SRCDIR="@0@"'.format(source_root), +libtracker_common_tests = [ + 'date-time', + 'dbus', + 'file-utils', + 'sched', + 'type-utils', + 'utils', ] -date_time_test = executable('tracker-date-time-test', - 'tracker-date-time-test.c', - dependencies: tracker_common_dep, - c_args: test_c_args, -) -test('common-date-time', date_time_test) - -dbus_test = executable('tracker-dbus-test', - 'tracker-dbus-test.c', - dependencies: [tracker_common_dep, tracker_testcommon_dep], - c_args: test_c_args, -) -test('common-dbus', dbus_test) - -file_utils_test = executable('tracker-file-utils-test', - 'tracker-file-utils-test.c', - dependencies: [tracker_common_dep, tracker_testcommon_dep], - c_args: test_c_args, -) -test('common-file-utils', file_utils_test) - -parser_test = executable('tracker-parser-test', - 'tracker-parser-test.c', - dependencies: [tracker_common_dep, tracker_testcommon_dep], - c_args: test_c_args, -) -test('common-parser', parser_test) +libtracker_common_test_deps = [ + tracker_common_dep, tracker_testcommon_dep +] -sched_test = executable('tracker-sched-test', - 'tracker-sched-test.c', - dependencies: [tracker_common_dep, tracker_testcommon_dep], - c_args: test_c_args, -) -test('common-sched', sched_test) +foreach base_name: libtracker_common_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'common-@0@'.format(base_name) -type_utils_test = executable('tracker-type-utils-test', - 'tracker-type-utils-test.c', - dependencies: tracker_common_dep, - c_args: test_c_args, -) -test('common-type-utils', type_utils_test) + binary = executable(binary_name, source, + dependencies: libtracker_common_test_deps, + c_args: test_c_args) -utils_test = executable('tracker-utils-test', - 'tracker-utils-test.c', - dependencies: tracker_common_dep, - c_args: test_c_args, -) -test('common-utils', utils_test) + test(test_name, binary) +endforeach # This is a manual test case parser_testcase = executable('tracker-parser', diff --git a/tests/libtracker-data/meson.build b/tests/libtracker-data/meson.build index a99ca89fe..788c4dffd 100644 --- a/tests/libtracker-data/meson.build +++ b/tests/libtracker-data/meson.build @@ -1,50 +1,44 @@ -test_c_args = tracker_c_args + [ - '-DTOP_BUILDDIR="@0@"'.format(build_root), - '-DTOP_SRCDIR="@0@"'.format(source_root), +libtracker_data_tests = [ + 'backup', + 'crc32', + 'db-journal', + 'ontology-change', + 'sparql-blank', ] -backup_test = executable('tracker-backup-test', - 'tracker-backup-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-backup', backup_test) - -crc32_test = executable('tracker-crc32-test', - 'tracker-crc32-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-crc32', crc32_test) - -db_journal_test = executable('tracker-db-journal-test', - 'tracker-db-journal-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-db-journal', db_journal_test) - -ontology_test = executable('tracker-ontology-test', - 'tracker-ontology-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-ontology', ontology_test, - # FIXME: why is this test so slow? - timeout: 180) - -ontology_change_test = executable('tracker-ontology-change-test', - 'tracker-ontology-change-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-ontology-change', ontology_change_test) - -sparql_test = executable('tracker-data-sparql-test', - 'tracker-sparql-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-sparql', sparql_test, - # FIXME: why is this test so slow? - timeout: 180) - -sparql_blank_test = executable('tracker-sparql-blank-test', - 'tracker-sparql-blank-test.c', - dependencies: [tracker_common_dep, tracker_data_dep], - c_args: test_c_args) -test('data-sparql-blank', sparql_blank_test) +libtracker_data_slow_tests = [ + 'ontology', + 'sparql' +] + +libtracker_data_test_environment = environment() +libtracker_data_test_environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(meson.source_root())) + +libtracker_data_test_deps = [tracker_common_dep, tracker_data_dep] + +foreach base_name: libtracker_data_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'data-@0@'.format(base_name) + + binary = executable(binary_name, source, + dependencies: libtracker_data_test_deps, + c_args: test_c_args) + + test(test_name, binary, + env: libtracker_data_test_environment) +endforeach + +foreach base_name: libtracker_data_slow_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'data-@0@'.format(base_name) + + binary = executable(binary_name, source, + dependencies: libtracker_data_test_deps, + c_args: test_c_args) + + test(test_name, binary, + timeout: 180, + env: libtracker_data_test_environment) +endforeach diff --git a/tests/libtracker-fts/meson.build b/tests/libtracker-fts/meson.build index 86245f48e..6d83f06cd 100644 --- a/tests/libtracker-fts/meson.build +++ b/tests/libtracker-fts/meson.build @@ -1,8 +1,3 @@ -test_c_args = tracker_c_args + [ - '-DTOP_BUILDDIR="@0@/"'.format(build_root), - '-DTOP_SRCDIR="@0@/"'.format(source_root), -] - fts_test = executable('tracker-fts-test', 'tracker-fts-test.c', dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_data_dep, tracker_testcommon_dep], diff --git a/tests/libtracker-miner/meson.build b/tests/libtracker-miner/meson.build index 52eca1b34..c125f08ca 100644 --- a/tests/libtracker-miner/meson.build +++ b/tests/libtracker-miner/meson.build @@ -1,4 +1,20 @@ -test_c_args = [ +libtracker_miner_tests = [ + 'crawler', + 'file-enumerator', + 'file-notifier', + 'file-system', + 'indexing-tree', + 'priority-queue', + 'task-pool', + 'thumbnailer', +] + +libtracker_miner_slow_tests = [ + 'miner-fs', + 'monitor', +] + +libtracker_miner_test_c_args = [ '-DLIBEXEC_PATH="@0@/@1@"'.format(get_option('prefix'), get_option('libexecdir')), '-DTEST', '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir()), @@ -6,84 +22,34 @@ test_c_args = [ '-DTEST_ONTOLOGIES_DIR="@0@/src/ontologies/nepomuk"'.format(meson.source_root()), ] -environment = environment() -environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(meson.source_root())) - -crawler_test = executable('tracker-crawler-test', - 'tracker-crawler-test.c', - shared_libtracker_miner_crawler_sources, - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-crawler', crawler_test) - -file_enumerator_test = executable('tracker-file-enumerator-test', - 'tracker-file-enumerator-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-file-enumerator', file_enumerator_test, - env: environment) - -file_notifier_test = executable('tracker-file-notifier-test', - 'tracker-file-notifier-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-file-notifier', file_notifier_test, - env: environment) +libtracker_miner_test_environment = environment() +libtracker_miner_test_environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(meson.source_root())) -file_system_test = executable('tracker-file-system-test', - 'tracker-file-system-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-file-system', file_system_test) +libtracker_miner_test_deps = [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep] -indexing_tree_test = executable('tracker-indexing-tree-test', - 'tracker-indexing-tree-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-indexing-tree', indexing_tree_test) +foreach base_name: libtracker_miner_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'miner-@0@'.format(base_name) -miner_fs_test = executable('tracker-miner-fs-test', - 'tracker-miner-fs-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-fs', miner_fs_test, - timeout: 180) + binary = executable(binary_name, source, + dependencies: libtracker_miner_test_deps, + c_args: libtracker_miner_test_c_args) -monitor_test = executable('tracker-monitor-test', - 'tracker-monitor-test.c', - shared_libtracker_miner_monitor_sources, - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-monitor', monitor_test, - # FIXME: why is this test so slow? - timeout: 180) + test(test_name, binary, + env: libtracker_miner_test_environment) +endforeach -priority_queue_test = executable('tracker-priority-queue-test', - 'tracker-priority-queue-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-priority-queue', priority_queue_test) +foreach base_name: libtracker_miner_slow_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'miner-@0@'.format(base_name) -task_pool_test = executable('tracker-task-pool-test', - 'tracker-task-pool-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-task-pool', task_pool_test) + binary = executable(binary_name, source, + dependencies: libtracker_miner_test_deps, + c_args: libtracker_miner_test_c_args) -thumbnailer_test = executable('tracker-thumbnailer-test', - 'empty-gobject.c', - 'thumbnailer-mock.c', - 'tracker-thumbnailer-test.c', - dependencies: [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep], - c_args: test_c_args -) -test('miner-thumbnailer', thumbnailer_test) + test(test_name, binary, + env: libtracker_miner_test_environment, + timeout: 180) +endforeach diff --git a/tests/libtracker-sparql/meson.build b/tests/libtracker-sparql/meson.build index 09cc92922..00a92dd25 100644 --- a/tests/libtracker-sparql/meson.build +++ b/tests/libtracker-sparql/meson.build @@ -1,26 +1,27 @@ libtracker_sparql_tests = [ + 'gb-737023', + 'resource', + 'sparql', +] -l -test_c_args = [ +libtracker_sparql_test_c_args = tracker_c_args + [ '-DTEST', '-DTEST_DOMAIN_ONTOLOGY_RULE="@0@/src/tracker-store/default.rule"'.format(source_root), '-DTEST_ONTOLOGIES_DIR="@0@/src/ontologies/nepomuk"'.format(source_root), ] -resource_test = executable('tracker-resource-test', - 'tracker-resource-test.c', - dependencies: [tracker_common_dep, tracker_sparql_dep], - c_args: tracker_c_args) -test('sparql-resource', resource_test) +libtracker_sparql_test_deps = [ + tracker_common_dep, tracker_sparql_dep +] + +foreach base_name: libtracker_sparql_tests + source = 'tracker-@0@-test.c'.format(base_name) + binary_name = 'tracker-@0@-test'.format(base_name) + test_name = 'sparql-@0@'.format(base_name) -sparql_test = executable('tracker-sparql-test', - 'tracker-sparql-test.c', - dependencies: [tracker_common_dep, tracker_sparql_dep], - c_args: [tracker_c_args, test_c_args]) -test('sparql', sparql_test) + binary = executable(binary_name, source, + dependencies: libtracker_sparql_test_deps, + c_args: libtracker_sparql_test_c_args) -gb_737023_test = executable('tracker-gb-737023-test', - 'tracker-gb-737023-test.c', - dependencies: [tracker_common_dep, tracker_sparql_dep], - c_args: [tracker_c_args, test_c_args]) -test('gb_737023', gb_737023_test) + test(test_name, binary) +endforeach |