From ecd1bfdd3cea0a11c4ba1a6a7dbc86d868349877 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 15 Apr 2021 08:20:31 +0200 Subject: [PATCH] hwdb-test: pass an explit path to systemd-hwdb MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://github.com/systemd/systemd/pull/19316 failed with: [1065/1670] Linking target systemd-hwdb --- command --- 14:28:29 /root/src/test/hwdb-test.sh --- stdout --- ./systemd-hwdb does not exist, please build first I'm not sure what is going on here… In principle meson says that tests may be called from any directory, but in practice is was always the build directory. So far we were relying on systemd-hwdb being present in '.', and this worked. Either way, it's nicer to pass the exact path, so let's do that. --- meson.build | 10 +++++++++- test/hwdb-test.sh | 4 ++-- test/meson.build | 15 +-------------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/meson.build b/meson.build index 93d3c26a22c..3d5ae16a61b 100644 --- a/meson.build +++ b/meson.build @@ -3168,7 +3168,7 @@ if conf.get('ENABLE_TMPFILES') == 1 endif if conf.get('ENABLE_HWDB') == 1 - public_programs += executable( + systemd_hwdb = executable( 'systemd-hwdb', 'src/hwdb/hwdb.c', include_directories : includes, @@ -3176,6 +3176,14 @@ if conf.get('ENABLE_HWDB') == 1 install_rpath : udev_rpath, install : true, install_dir : rootbindir) + public_programs += systemd_hwdb + + if want_tests != 'false' + test('hwdb-test', + hwdb_test_sh, + args : [systemd_hwdb.full_path()], + timeout : 90) + endif endif if conf.get('ENABLE_QUOTACHECK') == 1 diff --git a/test/hwdb-test.sh b/test/hwdb-test.sh index 2b54a0e70fc..57d98e513bf 100755 --- a/test/hwdb-test.sh +++ b/test/hwdb-test.sh @@ -11,10 +11,10 @@ set -e export SYSTEMD_LOG_LEVEL=info ROOTDIR=$(dirname $(dirname $(readlink -f $0))) -SYSTEMD_HWDB=./systemd-hwdb +SYSTEMD_HWDB="${1:?missing argument}" if [ ! -x "$SYSTEMD_HWDB" ]; then - echo "$SYSTEMD_HWDB does not exist, please build first" + echo "$SYSTEMD_HWDB is not executable" >&2 exit 1 fi diff --git a/test/meson.build b/test/meson.build index 4d7b929a809..ee6733fca4b 100644 --- a/test/meson.build +++ b/test/meson.build @@ -57,10 +57,8 @@ if install_tests endif test_network_generator_conversion_sh = find_program('test-network-generator-conversion.sh') - -############################################################ - test_systemd_tmpfiles_py = find_program('test-systemd-tmpfiles.py') +hwdb_test_sh = find_program('hwdb-test.sh') ############################################################ @@ -128,17 +126,6 @@ endif ############################################################ -if conf.get('ENABLE_HWDB') == 1 - hwdb_test_sh = find_program('hwdb-test.sh') - if want_tests != 'false' - test('hwdb-test', - hwdb_test_sh, - timeout : 90) - endif -endif - -############################################################ - if want_tests != 'false' and dmi_arches.contains(host_machine.cpu_family()) udev_dmi_memory_id_test = find_program('udev-dmi-memory-id-test.sh') -- 2.47.3