From 4543ca1620d2f641a67a4bb297d653cc2d91fcf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 19 Aug 2017 10:43:38 +0200 Subject: [PATCH] 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 --- data/meson.build | 9 ++++++++- tests/meson.build | 12 +++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/data/meson.build b/data/meson.build index 6bc5ae08a..032e3f0f4 100644 --- a/data/meson.build +++ b/data/meson.build @@ -78,11 +78,18 @@ install_data('50-gnome-shell-system.xml', install_dir: keysdir) schemaconf = configuration_data() schemaconf.set('GETTEXT_PACKAGE', meson.project_name()) -configure_file( +schema = configure_file( input: 'org.gnome.shell.gschema.xml.in', output: 'org.gnome.shell.gschema.xml', configuration: schemaconf, 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) diff --git a/tests/meson.build b/tests/meson.build index 91f9cda15..a6726f7bc 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -1,8 +1,18 @@ testconf = configuration_data() testconf.set('MUTTER_TYPELIB_DIR', mutter_typelibdir) testconf.set('srcdir', meson.current_source_dir()) -configure_file( +run_test = configure_file( input: 'run-test.sh.in', output: 'run-test.sh', 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