From: Simon McVittie Date: Thu, 23 Jun 2022 19:26:55 +0000 (+0100) Subject: test/data: Generate a separate installable set of data files X-Git-Tag: dbus-1.15.0~32^2~87 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fa764fe4e96540c8292eeca379c57ed7447f6678;p=thirdparty%2Fdbus.git test/data: Generate a separate installable set of data files Some of the strings we need to substitute into these files are not the same for as-installed testing as for build-time testing. Signed-off-by: Simon McVittie --- diff --git a/test/data/installable/meson.build b/test/data/installable/meson.build new file mode 100644 index 000000000..68bc87050 --- /dev/null +++ b/test/data/installable/meson.build @@ -0,0 +1,45 @@ +# Copyright © 2019-2020 Salamandar +# Copyright 2022 Collabora Ltd. +# SPDX-License-Identifier: MIT +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# Some configuration parameters used in installed-tests are not the same +# as the configuration parameters used during build-time testing. +installed_tests_config = configuration_data() +installed_tests_config.merge_from(data_config) +installed_tests_config.set('DBUS_TEST_DATA', get_option('prefix') / test_exec_dir / 'data') +installed_tests_config.set('DBUS_TEST_EXEC', get_option('prefix') / test_exec_dir) +installed_tests_config.set('EXEEXT', exe_ext) +installed_tests_config.set('TEST_LAUNCH_HELPER_BINARY', '/bin/false') + +foreach file : data_in_to_install + # Underscorify the output name because Meson doesn't allow subdir output files + configured_file = configure_file( + input : files('../' + file + '.in'), + output: file.underscorify(), + configuration: installed_tests_config, + ) + if install_tests + install_data(configured_file, + rename: file, + install_dir: test_exec_dir / 'data', + ) + endif +endforeach diff --git a/test/data/meson.build b/test/data/meson.build index b02c86f23..f2545a877 100644 --- a/test/data/meson.build +++ b/test/data/meson.build @@ -160,15 +160,10 @@ foreach file : data_in_to_install output: file.underscorify(), configuration: test_data_config, ) - if install_tests - install_data(configured_file, - rename: file, - install_dir: test_exec_dir / 'data', - ) - endif + # We don't install this version: see test/data/installable/ for the + # version that we *do* install. endforeach - ############################################################################### # Copy files into correct places in build directory for tests @@ -202,3 +197,7 @@ files_not_found = run_result.stdout().split() if files_not_found.length() > 0 error('Those files could not be copied for test : @0@'.format(files_not_found)) endif + +if install_tests + subdir('installable') +endif