From 490028ba21ca2905e52ff065a318d8f3f4822d6b Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 3 Nov 2016 08:36:23 -0300 Subject: [PATCH] meson: Add testsuite --- meson.build | 1 + testsuite/meson.build | 30 ++++++++++++++++++++++++++++++ testsuite/runtests.py | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 testsuite/meson.build diff --git a/meson.build b/meson.build index 93b0d4c..cac72e1 100644 --- a/meson.build +++ b/meson.build @@ -54,6 +54,7 @@ configinc = include_directories('.') subdir('gi') subdir('plugin') +subdir('testsuite') python3 = find_program('python3') run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")') diff --git a/testsuite/meson.build b/testsuite/meson.build new file mode 100644 index 0000000..84c0f3e --- /dev/null +++ b/testsuite/meson.build @@ -0,0 +1,30 @@ +runtests = find_program('runtests.py') + +tests = [ + ['Test gst', 'test_gst.py'], + ['Test fractions', 'test_fraction.py'] +] + +pluginsdirs = [] +if not meson.is_subproject() + pkgconfig = find_program('pkg-config') + runcmd = run_command(pkgconfig, '--variable=pluginsdir', + 'gstreamer-' + api_version) + if runcmd.returncode() == 0 + pluginsdirs = runcmd.stdout().split() + else + error('Could not determine GStreamer core plugins directory for unit tests.') + endif +endif + +foreach i: tests + test_name = i.get(0) + env = environment() + env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) + env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') + foreach plugindir: pluginsdirs + env.append('GST_PLUGIN_PATH_1_0', plugindir) + endforeach + env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), i.get(1))) + test(test_name, runtests, args: [i.get(1)], env: env) +endforeach diff --git a/testsuite/runtests.py b/testsuite/runtests.py index 452311f..f84ace2 100644 --- a/testsuite/runtests.py +++ b/testsuite/runtests.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # -*- Mode: Python -*- # vi:si:et:sw=4:sts=4:ts=4 # -- 2.7.4