summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam@afuera.me.uk>2018-07-15 12:42:04 +0200
committerSam Thursfield <sam@afuera.me.uk>2018-07-15 14:09:49 +0200
commit1dbd11bb251e3367fb9bdef9689280a74a64caa2 (patch)
treeb81bcdce05ca7805db1cb0a8de40450e6318b6c6
parentb288da5d7becdd2c1e3e14f81f87f104915028c7 (diff)
downloadtracker-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.build5
-rw-r--r--tests/libtracker-common/meson.build67
-rw-r--r--tests/libtracker-data/meson.build90
-rw-r--r--tests/libtracker-fts/meson.build5
-rw-r--r--tests/libtracker-miner/meson.build116
-rw-r--r--tests/libtracker-sparql/meson.build35
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