diff options
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rw-r--r-- | meson.build | 2 | ||||
-rw-r--r-- | tests/functional-tests/meson.build | 6 | ||||
-rwxr-xr-x | tests/functional-tests/test-runner.sh.in (renamed from tests/functional-tests/test-runner.sh) | 4 | ||||
-rw-r--r-- | tests/gvdb/meson.build | 5 | ||||
-rw-r--r-- | tests/libtracker-common/meson.build | 5 | ||||
-rw-r--r-- | tests/libtracker-data/meson.build | 18 | ||||
-rw-r--r-- | tests/libtracker-fts/meson.build | 9 | ||||
-rw-r--r-- | tests/libtracker-miner/meson.build | 18 | ||||
-rw-r--r-- | tests/libtracker-sparql/meson.build | 12 | ||||
-rw-r--r-- | tests/meson.build | 31 | ||||
-rw-r--r-- | tests/services/meson.build | 4 | ||||
-rw-r--r-- | tests/services/org.freedesktop.Tracker1.service.in | 4 | ||||
-rw-r--r-- | tests/test-bus.conf.in | 20 | ||||
-rw-r--r-- | tests/tracker-steroids/meson.build | 5 |
15 files changed, 108 insertions, 37 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84f040af3..028768279 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -15,7 +15,7 @@ test-fedora-latest: # screenful of junk each time unless we strip these. unset $(env|grep -o '^CI_[^=]*') - su tracker -c 'cd build; dbus-run-session -- env LANG=en_US.UTF8 meson test --print-errorlogs' + su tracker -c 'cd build; meson test --print-errorlogs' artifacts: when: always diff --git a/meson.build b/meson.build index b0b6b4d98..4a0452b30 100644 --- a/meson.build +++ b/meson.build @@ -270,6 +270,7 @@ conf.set('TRACKER_INTERFACE_AGE', 0) conf.set('TRACKER_BINARY_AGE', 100 * tracker_minor_version + tracker_micro_version) # Config that goes in some other generated files (.desktop, .pc, etc) +conf.set('abs_top_builddir', meson.current_build_dir()) conf.set('exec_prefix', get_option('prefix')) conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) conf.set('datadir', datadir) @@ -331,6 +332,7 @@ vapi_dir = join_paths(get_option('prefix'), get_option('datadir'), 'vala', 'vapi glib_mkenums = find_program('glib-mkenums') g_ir_compiler = find_program('g-ir-compiler', gobject_introspection.get_pkgconfig_variable('g_ir_compiler')) g_ir_merge = find_program('g-ir-merge', join_paths(meson.current_source_dir(), 'utils', 'g-ir-merge', 'g-ir-merge')) +dbus_run_session = find_program('dbus-run-session') gir_dir = gobject_introspection.get_pkgconfig_variable('girdir', define_variable: [ 'datadir', datadir ]) diff --git a/tests/functional-tests/meson.build b/tests/functional-tests/meson.build index eb8b5a5e0..274c88abf 100644 --- a/tests/functional-tests/meson.build +++ b/tests/functional-tests/meson.build @@ -1,4 +1,8 @@ -test_runner = find_program('test-runner.sh') +test_runner = configure_file( + input: 'test-runner.sh.in', + output: 'test-runner.sh', + configuration: conf) +test_runner = find_program(test_runner) config_json = configure_file( input: 'configuration.json.in', diff --git a/tests/functional-tests/test-runner.sh b/tests/functional-tests/test-runner.sh.in index fe6919c0c..6e295aec6 100755 --- a/tests/functional-tests/test-runner.sh +++ b/tests/functional-tests/test-runner.sh.in @@ -4,8 +4,6 @@ set -e -SCRIPT=$1 - export TEMP_DIR=`mktemp --tmpdir -d tracker-test-XXXX` # We need to use the actual home directory for some tests because @@ -17,6 +15,6 @@ export REAL_HOME=`echo ~` HOME=$TEMP_DIR echo "Running $@" -dbus-run-session -- "$@" +dbus-run-session --config-file=@abs_top_builddir@/tests/test-bus.conf -- "$@" rm -R $TEMP_DIR diff --git a/tests/gvdb/meson.build b/tests/gvdb/meson.build index 89ab72575..5d8fcf948 100644 --- a/tests/gvdb/meson.build +++ b/tests/gvdb/meson.build @@ -4,4 +4,7 @@ gvdb_test = executable('gvdb-test', include_directories: configinc, ) -test('gvdb', gvdb_test) +tests += { + 'name': 'gvdb', + 'exe': gvdb_test, +} diff --git a/tests/libtracker-common/meson.build b/tests/libtracker-common/meson.build index d11f5ba46..55b7ada50 100644 --- a/tests/libtracker-common/meson.build +++ b/tests/libtracker-common/meson.build @@ -20,7 +20,10 @@ foreach base_name: libtracker_common_tests dependencies: libtracker_common_test_deps, c_args: test_c_args) - test(test_name, binary) + tests += { + 'name': test_name, + 'exe': binary + } endforeach # This is a manual test case diff --git a/tests/libtracker-data/meson.build b/tests/libtracker-data/meson.build index 7e87c09c9..fcbe8c091 100644 --- a/tests/libtracker-data/meson.build +++ b/tests/libtracker-data/meson.build @@ -11,10 +11,6 @@ libtracker_data_slow_tests = [ 'sparql' ] -libtracker_data_test_environment = environment() -libtracker_data_test_environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(source_root)) -libtracker_data_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) - libtracker_data_test_deps = [tracker_common_dep, tracker_data_dep, tracker_sparql_dep] foreach base_name: libtracker_data_tests @@ -26,8 +22,10 @@ foreach base_name: libtracker_data_tests dependencies: libtracker_data_test_deps, c_args: test_c_args) - test(test_name, binary, - env: libtracker_data_test_environment) + tests += { + 'name': test_name, + 'exe': binary + } endforeach foreach base_name: libtracker_data_slow_tests @@ -39,7 +37,9 @@ foreach base_name: libtracker_data_slow_tests dependencies: libtracker_data_test_deps, c_args: test_c_args) - test(test_name, binary, - timeout: 180, - env: libtracker_data_test_environment) + tests += { + 'name': test_name, + 'exe': binary, + 'timeout': 180 + } endforeach diff --git a/tests/libtracker-fts/meson.build b/tests/libtracker-fts/meson.build index 69f141cf9..e851d7abe 100644 --- a/tests/libtracker-fts/meson.build +++ b/tests/libtracker-fts/meson.build @@ -1,11 +1,10 @@ -libtracker_fts_test_environment = environment() -libtracker_fts_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) - fts_test = executable('tracker-fts-test', 'tracker-fts-test.c', dependencies: [tracker_common_dep, tracker_sparql_dep, tracker_data_dep, tracker_testcommon_dep], c_args: test_c_args ) -test('fts', fts_test, - env: libtracker_fts_test_environment) +tests += { + 'name': 'fts', + 'exe': fts_test +} diff --git a/tests/libtracker-miner/meson.build b/tests/libtracker-miner/meson.build index c0b055c6b..0e03c6787 100644 --- a/tests/libtracker-miner/meson.build +++ b/tests/libtracker-miner/meson.build @@ -22,10 +22,6 @@ libtracker_miner_test_c_args = [ '-DTEST_ONTOLOGIES_DIR="@0@/src/ontologies/nepomuk"'.format(source_root), ] -libtracker_miner_test_environment = environment() -libtracker_miner_test_environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(source_root)) -libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) - libtracker_miner_test_deps = [tracker_common_dep, tracker_miner_dep, tracker_sparql_dep] foreach base_name: libtracker_miner_tests @@ -38,8 +34,10 @@ foreach base_name: libtracker_miner_tests c_args: libtracker_miner_test_c_args, link_with: [libtracker_miner_private]) - test(test_name, binary, - env: libtracker_miner_test_environment) + tests += { + 'name': test_name, + 'exe': binary + } endforeach foreach base_name: libtracker_miner_slow_tests @@ -52,7 +50,9 @@ foreach base_name: libtracker_miner_slow_tests c_args: libtracker_miner_test_c_args, link_with: [libtracker_miner_private]) - test(test_name, binary, - env: libtracker_miner_test_environment, - timeout: 180) + tests += { + 'name': test_name, + 'exe': binary, + 'timeout': 180 + } endforeach diff --git a/tests/libtracker-sparql/meson.build b/tests/libtracker-sparql/meson.build index 548cead7f..6c742d8d4 100644 --- a/tests/libtracker-sparql/meson.build +++ b/tests/libtracker-sparql/meson.build @@ -13,10 +13,6 @@ libtracker_sparql_test_deps = [ tracker_common_dep, tracker_sparql_dep ] -libtracker_sparql_test_environment = environment() -libtracker_sparql_test_environment.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', '@0@/src/libtracker-common/stop-words'.format(source_root)) -libtracker_sparql_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) - foreach base_name: libtracker_sparql_tests source = 'tracker-@0@-test.c'.format(base_name) binary_name = 'tracker-@0@-test'.format(base_name) @@ -26,6 +22,10 @@ foreach base_name: libtracker_sparql_tests dependencies: libtracker_sparql_test_deps, c_args: libtracker_sparql_test_c_args) - test(test_name, binary, - env: libtracker_sparql_test_environment) + tests += { + 'name': test_name, + 'exe': binary, + 'is_parallel': false + } + [[test_name, binary]] endforeach diff --git a/tests/meson.build b/tests/meson.build index e3bdea8e8..85f4bc333 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -1,3 +1,5 @@ +tests = [] + subdir('common') subdir('gvdb') @@ -15,3 +17,32 @@ subdir('tracker-steroids') if get_option('functional_tests') subdir('functional-tests') endif + +subdir('services') + +test_bus_conf_file = configure_file( + input: 'test-bus.conf.in', + output: 'test-bus.conf', + configuration: conf) + +foreach t: tests + test_name = t.get('name') + test_exe = t.get('exe') + test_timeout = t.get('timeout', 30) + test_is_parallel = t.get('is_parallel', true) + + test_env = environment() + test_env.set('GSETTINGS_SCHEMA_DIR', join_paths(build_root, 'data')) + test_env.set('TRACKER_LANGUAGE_STOP_WORDS_DIR', join_paths(source_root, 'src', 'libtracker-common', 'stop-words')) + test_env.set('TRACKER_TEST_DOMAIN_ONTOLOGY_RULE', join_paths(source_root, 'src', 'tracker-store', 'default.rule')) + test_env.set('TRACKER_DB_ONTOLOGIES_DIR', join_paths(source_root, 'src', 'ontologies', 'nepomuk')) + test_env.set('LANG', 'en_US.UTF8') + + test (test_name, dbus_run_session, + env: test_env, + args: ['--config-file=@0@'.format(join_paths(meson.current_build_dir(), 'test-bus.conf')), + '--', + test_exe], + timeout: test_timeout, + is_parallel: test_is_parallel) +endforeach diff --git a/tests/services/meson.build b/tests/services/meson.build new file mode 100644 index 000000000..182ba1e74 --- /dev/null +++ b/tests/services/meson.build @@ -0,0 +1,4 @@ +test_dbus_service_file = configure_file( + input: 'org.freedesktop.Tracker1.service.in', + output: 'org.freedesktop.Tracker1.service', + configuration: conf) diff --git a/tests/services/org.freedesktop.Tracker1.service.in b/tests/services/org.freedesktop.Tracker1.service.in new file mode 100644 index 000000000..646282c1f --- /dev/null +++ b/tests/services/org.freedesktop.Tracker1.service.in @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=org.freedesktop.Tracker1 +Exec=@abs_top_builddir@/src/tracker-store/tracker-store +SystemdService=tracker-store.service diff --git a/tests/test-bus.conf.in b/tests/test-bus.conf.in new file mode 100644 index 000000000..5b4f51ff9 --- /dev/null +++ b/tests/test-bus.conf.in @@ -0,0 +1,20 @@ +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <!-- Our well-known bus type, don't change this --> + <type>session</type> + + <listen>unix:tmpdir=./</listen> + + <servicedir>@abs_top_builddir@/tests/services/</servicedir> + + <policy context="default"> + <!-- Allow everything to be sent --> + <allow send_destination="*"/> + <!-- Allow everything to be received --> + <allow eavesdrop="true"/> + <!-- Allow anyone to own anything --> + <allow own="*"/> + </policy> + +</busconfig> diff --git a/tests/tracker-steroids/meson.build b/tests/tracker-steroids/meson.build index 1330fe3d6..79ae8bf30 100644 --- a/tests/tracker-steroids/meson.build +++ b/tests/tracker-steroids/meson.build @@ -7,4 +7,7 @@ steroids_test = executable('tracker-steroids-test', 'tracker-test.c', dependencies: [tracker_common_dep, tracker_sparql_dep], c_args: [tracker_c_args, test_c_args]) -test('steroids', steroids_test) +tests += { + 'name': 'steroids', + 'exe': steroids_test +} |