[tracker-miners/wip/carlosg/shuffle-libtracker-miner: 62/116] meson: Rework how unit tests are defined



commit a6364bb8a2f8528db89959878f660e505153f794
Author: Sam Thursfield <sam afuera me uk>
Date:   Sun Jul 15 12:42:04 2018 +0200

    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.

 tests/libtracker-miner/meson.build | 116 +++++++++++++------------------------
 1 file changed, 41 insertions(+), 75 deletions(-)
---
diff --git a/tests/libtracker-miner/meson.build b/tests/libtracker-miner/meson.build
index 8de74073e..3aa38fc92 100644
--- a/tests/libtracker-miner/meson.build
+++ b/tests/libtracker-miner/meson.build
@@ -1,4 +1,20 @@
-miner_test_c_args = 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 @@ miner_test_c_args = test_c_args + [
   '-DTEST_ONTOLOGIES_DIR="@0@"'.format(tracker_uninstalled_nepomuk_ontologies_dir),
 ]
 
-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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_test_c_args
-)
-test('miner-file-system', file_system_test)
+libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner, tracker_sparql]
 
-indexing_tree_test = executable('tracker-indexing-tree-test',
-  'tracker-indexing-tree-test.c',
-  dependencies: [tracker_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner_dep, tracker_sparql],
-  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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_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_miners_common_dep, tracker_miner, tracker_sparql],
-  c_args: miner_test_c_args
-)
-test('miner-thumbnailer', thumbnailer_test)
+    test(test_name, binary,
+      env: libtracker_miner_test_environment,
+      timeout: 180)
+endforeach


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]