]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test, sysext: Actually fail the whole operation if sd-merge worker failed
authorKrzesimir Nowak <knowak@microsoft.com>
Wed, 28 Feb 2024 14:41:46 +0000 (15:41 +0100)
committerKrzesimir Nowak <knowak@microsoft.com>
Mon, 25 Mar 2024 07:33:22 +0000 (08:33 +0100)
This also fixes a wrong merge failure check.

src/sysext/sysext.c
test/units/testsuite-50.sh

index 57f06b267849a2d1aa516d4940d26fc0594228a3..267c90f9764825780eece6a12baa1baf6cbfd449 100644 (file)
@@ -1742,9 +1742,10 @@ static int merge(ImageClass image_class,
         r = wait_for_terminate_and_check("(sd-merge)", pid, WAIT_LOG_ABNORMAL);
         if (r < 0)
                 return r;
-
         if (r == 123) /* exit code 123 means: didn't do anything */
                 return 0;
+        if (r > 0)
+                return log_error_errno(SYNTHETIC_ERRNO(ENXIO), "Failed to merge hierarchies");
 
         r = need_reload(image_class, hierarchies, no_reload);
         if (r < 0)
index d358b38354e40c9ae1b7e9dd0fb89df8cbfa03b9..e2ab409c2690e3f0934754d8408946de50d27217 100755 (executable)
@@ -1323,7 +1323,7 @@ ln -sfTr "${real_ext_dir}" "${ext_data_path}"
 prep_ro_hierarchy "${fake_root}" "${hierarchy}"
 
 # run systemd-sysext
-SYSTEMD_SYSEXT_HIERARCHIES="${hierarchy}" systemd-sysext --root="${fake_root}" --mutable=auto merge || die "expected merge to fail"
+SYSTEMD_SYSEXT_HIERARCHIES="${hierarchy}" systemd-sysext --root="${fake_root}" --mutable=auto merge && die "expected merge to fail"
 
 
 #