From 60d23b7f4ae26d934e5748d30bb7ae956f3ad83d Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Fri, 8 Nov 2024 12:23:37 +0000 Subject: [PATCH 1/2] battery-check: parse options before checking for kernel command line Otherwise --help/--version/etc which exit immediately will do pointless work --- src/battery-check/battery-check.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/battery-check/battery-check.c b/src/battery-check/battery-check.c index 1563147b7b..a2ed5cbafd 100644 --- a/src/battery-check/battery-check.c +++ b/src/battery-check/battery-check.c @@ -123,14 +123,14 @@ static int run(int argc, char *argv[]) { log_setup(); - r = proc_cmdline_get_bool("systemd.battery_check", PROC_CMDLINE_STRIP_RD_PREFIX|PROC_CMDLINE_TRUE_WHEN_MISSING, &arg_doit); - if (r < 0) - log_warning_errno(r, "Failed to parse systemd.battery_check= kernel command line option, ignoring: %m"); - r = parse_argv(argc, argv); if (r <= 0) return r; + r = proc_cmdline_get_bool("systemd.battery_check", PROC_CMDLINE_STRIP_RD_PREFIX|PROC_CMDLINE_TRUE_WHEN_MISSING, &arg_doit); + if (r < 0) + log_warning_errno(r, "Failed to parse systemd.battery_check= kernel command line option, ignoring: %m"); + if (!arg_doit) { log_info("Checking battery status and AC power existence is disabled by the kernel command line, skipping execution."); return 0; From 81e0693465402d2e72cb3ba1b28e25e3c4c0206a Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 13 Nov 2024 14:20:34 +0000 Subject: [PATCH 2/2] test-loop-block: return -77 on skip in more places --- src/test/test-loop-block.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/test/test-loop-block.c b/src/test/test-loop-block.c index e69c0d5caf..921049c3fb 100644 --- a/src/test/test-loop-block.c +++ b/src/test/test-loop-block.c @@ -224,15 +224,11 @@ static int run(int argc, char *argv[]) { dissected = dissected_image_unref(dissected); #endif - if (geteuid() != 0 || have_effective_cap(CAP_SYS_ADMIN) <= 0) { - log_tests_skipped("not running privileged"); - return 0; - } + if (geteuid() != 0 || have_effective_cap(CAP_SYS_ADMIN) <= 0) + return log_tests_skipped("not running privileged"); - if (detect_container() > 0) { - log_tests_skipped("Test not supported in a container, requires udev/uevent notifications"); - return 0; - } + if (detect_container() > 0) + return log_tests_skipped("Test not supported in a container, requires udev/uevent notifications"); assert_se(loop_device_make(fd, O_RDWR, 0, UINT64_MAX, 0, LO_FLAGS_PARTSCAN, LOCK_EX, &loop) >= 0);