From b98b597c92ad9d2372af1672a5efe5166005d039 Mon Sep 17 00:00:00 2001 From: Marvin W Date: Tue, 31 Dec 2024 17:42:23 +0100 Subject: Meson: Add tests --- libdino/meson.build | 2 +- plugins/omemo/meson.build | 22 ++++++++++++++++++++++ xmpp-vala/meson.build | 12 ++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/libdino/meson.build b/libdino/meson.build index f88cbb06..801c61c0 100644 --- a/libdino/meson.build +++ b/libdino/meson.build @@ -81,7 +81,7 @@ c_args = [ '-DDINO_SYSTEM_PLUGIN_DIR="@0@"'.format(get_option('prefix') / get_option('plugindir')), '-DG_LOG_DOMAIN="libdino"', ] -lib_dino = library('dino', sources, c_args: c_args, include_directories: include_directories('src'), dependencies: dependencies, version: '0.0', install: true, install_dir: [true, true, true]) +lib_dino = library('libdino', sources, c_args: c_args, include_directories: include_directories('src'), dependencies: dependencies, name_prefix: '', version: '0.0', install: true, install_dir: [true, true, true]) dep_dino = declare_dependency(link_with: lib_dino, include_directories: include_directories('.', 'src')) install_data('dino.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 diff --git a/plugins/omemo/meson.build b/plugins/omemo/meson.build index f1fdb46d..391a0a98 100644 --- a/plugins/omemo/meson.build +++ b/plugins/omemo/meson.build @@ -63,6 +63,28 @@ c_args = [ ] vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', + # This is to build internal vapi for tests + '--header', meson.current_build_dir() / 'omemo.h', + '--internal-vapi', meson.current_build_dir() / 'omemo-internal.vapi', + '--internal-header', meson.current_build_dir() / 'omemo-internal.h', ] lib_omemo = shared_library('omemo', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / 'dino/plugins') dep_omemo = declare_dependency(link_with: lib_omemo, include_directories: include_directories('.')) +# This is to use the internal vapi instead of the regular +vapi_omemo_internal = custom_target('omemo-internal-vapi', command: [find_program('touch'), meson.current_build_dir() / 'omemo-internal.vapi'], output: ['omemo-internal.vapi'], depends: lib_omemo) +dep_omemo_internal = declare_dependency(link_args: [lib_omemo.full_path()], include_directories: include_directories('.', 'src'), sources: [vapi_omemo_internal]) + +test_sources = [ + 'tests/signal/common.vala', + 'tests/signal/testcase.vala', + + 'tests/signal/curve25519.vala', + 'tests/signal/hkdf.vala', + 'tests/signal/session_builder.vala', +] +test_vala_args = [ + '--vapidir', meson.current_source_dir() / 'vapi', +] + +exe_omemo_test = executable('omemo-test', test_sources, c_args: c_args, vala_args: test_vala_args, dependencies: dependencies + dep_omemo_internal, build_rpath: '$ORIGIN', install: false) +test('Tests for omemo', exe_omemo_test) diff --git a/xmpp-vala/meson.build b/xmpp-vala/meson.build index fdcb54dd..a79ec982 100644 --- a/xmpp-vala/meson.build +++ b/xmpp-vala/meson.build @@ -143,3 +143,15 @@ lib_xmpp_vala = library('xmpp-vala', sources, c_args: c_args, vala_args: vala_ar dep_xmpp_vala = declare_dependency(link_with: lib_xmpp_vala, include_directories: include_directories('.')) install_data('xmpp-vala.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 + +test_sources = [ + 'tests/common.vala', + 'tests/testcase.vala', + + 'tests/jid.vala', + 'tests/stanza.vala', + 'tests/color.vala', + 'tests/util.vala', +] +exe_xmpp_vala_test = executable('xmpp-vala-test', test_sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies + dep_xmpp_vala, install: false) +test('Tests for xmpp-vala', exe_xmpp_vala_test) -- cgit v1.2.3-70-g09d2