diff --git a/src/udev/udevadm-test-builtin.c b/src/udev/udevadm-test-builtin.c index 5d1fafbd03..f5498a1e5b 100644 --- a/src/udev/udevadm-test-builtin.c +++ b/src/udev/udevadm-test-builtin.c @@ -104,9 +104,12 @@ int builtin_main(int argc, char *argv[], void *userdata) { } r = udev_builtin_run(event, cmd, arg_command, true); - if (r < 0) + if (r < 0) { log_debug_errno(r, "Builtin command '%s' fails: %m", arg_command); + goto finish; + } + r = 0; finish: udev_builtin_exit(); return r; diff --git a/src/udev/udevadm.c b/src/udev/udevadm.c index 51dc041a29..687b927f72 100644 --- a/src/udev/udevadm.c +++ b/src/udev/udevadm.c @@ -137,4 +137,4 @@ static int run(int argc, char *argv[]) { return udevadm_main(argc, argv); } -DEFINE_MAIN_FUNCTION(run); +DEFINE_MAIN_FUNCTION_WITH_POSITIVE_FAILURE(run); diff --git a/test/units/testsuite-64.sh b/test/units/testsuite-64.sh index 81edb0ab7a..65e5f6cd91 100755 --- a/test/units/testsuite-64.sh +++ b/test/units/testsuite-64.sh @@ -396,6 +396,11 @@ EOF udevadm control --reload + # initialize partition table + for disk in {0..9}; do + echo 'label: gpt' | udevadm lock --device="${devices[$disk]}" sfdisk -q "${devices[$disk]}" + done + # Delete the partitions, immediately recreate them, wait for udev to settle # down, and then check if we have any dangling symlinks in /dev/disk/. Rinse # and repeat.