build: Run unit tests on meson test

Meson makes it easy to define unit tests, so hook up the existing
ones.

https://bugzilla.gnome.org/show_bug.cgi?id=786497
This commit is contained in:
Florian Müllner 2017-08-19 10:43:38 +02:00
parent 7da5a76aaa
commit 4543ca1620
2 changed files with 19 additions and 2 deletions

View File

@ -78,11 +78,18 @@ install_data('50-gnome-shell-system.xml', install_dir: keysdir)
schemaconf = configuration_data() schemaconf = configuration_data()
schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) schemaconf.set('GETTEXT_PACKAGE', meson.project_name())
configure_file( schema = configure_file(
input: 'org.gnome.shell.gschema.xml.in', input: 'org.gnome.shell.gschema.xml.in',
output: 'org.gnome.shell.gschema.xml', output: 'org.gnome.shell.gschema.xml',
configuration: schemaconf, configuration: schemaconf,
install_dir: schemadir install_dir: schemadir
) )
# for unit tests - gnome.compile_schemas() only looks in srcdir
custom_target('compile-schemas',
input: schema,
output: 'gschemas.compiled',
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
build_by_default: true)
install_data('gnome-shell-overrides.convert', install_dir: convertdir) install_data('gnome-shell-overrides.convert', install_dir: convertdir)

View File

@ -1,8 +1,18 @@
testconf = configuration_data() testconf = configuration_data()
testconf.set('MUTTER_TYPELIB_DIR', mutter_typelibdir) testconf.set('MUTTER_TYPELIB_DIR', mutter_typelibdir)
testconf.set('srcdir', meson.current_source_dir()) testconf.set('srcdir', meson.current_source_dir())
configure_file( run_test = configure_file(
input: 'run-test.sh.in', input: 'run-test.sh.in',
output: 'run-test.sh', output: 'run-test.sh',
configuration: testconf configuration: testconf
) )
testenv = environment()
testenv.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data'))
foreach test : ['insertSorted', 'jsParse', 'markup', 'url']
test(test, run_test,
args: 'unit/@0@.js'.format(test),
env: testenv,
workdir: meson.current_source_dir())
endforeach