summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--meson.build2
-rw-r--r--tests/functional-tests/meson.build6
-rwxr-xr-xtests/functional-tests/test-runner.sh.in (renamed from tests/functional-tests/test-runner.sh)4
-rw-r--r--tests/gvdb/meson.build5
-rw-r--r--tests/libtracker-common/meson.build5
-rw-r--r--tests/libtracker-data/meson.build18
-rw-r--r--tests/libtracker-fts/meson.build9
-rw-r--r--tests/libtracker-miner/meson.build18
-rw-r--r--tests/libtracker-sparql/meson.build12
-rw-r--r--tests/meson.build31
-rw-r--r--tests/services/meson.build4
-rw-r--r--tests/services/org.freedesktop.Tracker1.service.in4
-rw-r--r--tests/test-bus.conf.in20
-rw-r--r--tests/tracker-steroids/meson.build5
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
+}