]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
hwdb-test: pass an explit path to systemd-hwdb
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 15 Apr 2021 06:20:31 +0000 (08:20 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 28 Apr 2021 09:32:58 +0000 (11:32 +0200)
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
test/hwdb-test.sh
test/meson.build

index 93d3c26a22cf9b022c56c7c5aee792e72147c80d..3d5ae16a61b19275fe6baeee9a0eb2769ea11616 100644 (file)
@@ -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
index 2b54a0e70fcf0652dc8086d7a4a631ca785ed998..57d98e513bf57c44e55ca10a5a525099cc5c2f42 100755 (executable)
@@ -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
 
index 4d7b929a80947263c871eb919a58ace82842d147..ee6733fca4b5a32617adf5eda58debe3406ad3d1 100644 (file)
@@ -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')