]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
test/data: Generate a separate installable set of data files
authorSimon McVittie <smcv@collabora.com>
Thu, 23 Jun 2022 19:26:55 +0000 (20:26 +0100)
committerSimon McVittie <smcv@collabora.com>
Wed, 13 Jul 2022 19:36:13 +0000 (20:36 +0100)
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 <smcv@collabora.com>
test/data/installable/meson.build [new file with mode: 0644]
test/data/meson.build

diff --git a/test/data/installable/meson.build b/test/data/installable/meson.build
new file mode 100644 (file)
index 0000000..68bc870
--- /dev/null
@@ -0,0 +1,45 @@
+# Copyright © 2019-2020 Salamandar <felix@piedallu.me>
+# 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
index b02c86f2364bffeafb22f92e35bb706658d8e78b..f2545a877d83f3a559a529b3daa8e4e826bf43ac 100644 (file)
@@ -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