From 75a5ff01d3df801091296649a66bb1eb33b5de6e Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 9 Apr 2025 20:47:30 +0200 Subject: [PATCH] test: Make sure symlinks in integration-tests are properly installed meson follows symlinks by default, so make sure we use follow_symlinks=False if meson is new enough and rsync otherwise like we already do for other testdata subdirectories. --- test/meson.build | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/test/meson.build b/test/meson.build index 62d28124421..423fec7d898 100644 --- a/test/meson.build +++ b/test/meson.build @@ -282,8 +282,22 @@ if want_tests != 'false' endif if install_tests - install_subdir('integration-tests', - install_dir : testsdir) + if meson.version().version_compare('<1.3.0') + if not rsync.found() + error('rsync is required to install the integration test data') + endif + + rsync_r = rsync.full_path() + ' -rlpt --exclude .gitattributes -- "@0@" "${DESTDIR:-}@1@"' + endif + + if meson.version().version_compare('>=1.3.0') + install_subdir('integration-tests', + install_dir : testsdir, + follow_symlinks : false) + else + meson.add_install_script(sh, '-c', + rsync_r.format(meson.current_source_dir() / 'integration-tests', testdata_dir)) + endif foreach integration_test : integration_tests integration_test_unit_env = [] @@ -350,11 +364,6 @@ if install_tests install_dir : testdata_dir, follow_symlinks : false) else - if not rsync.found() - error('rsync is required to install the integration test data') - endif - - rsync_r = rsync.full_path() + ' -rlpt --exclude .gitattributes -- "@0@" "${DESTDIR:-}@1@"' meson.add_install_script(sh, '-c', rsync_r.format(meson.current_source_dir() / subdir, testdata_dir)) endif -- 2.47.3