It is quite confusing if the test "fails" without printing anything at all.
A typo in an 'if' statement is also fixed.
test_pool(&address_lo, 1, 0);
r = sd_dhcp_server_start(server);
-
if (r == -EPERM)
- return EXIT_TEST_SKIP;
+ return log_info_errno(r, "sd_dhcp_server_start failed: %m");
assert_se(r >= 0);
assert_se(sd_dhcp_server_start(server) == -EBUSY);
assert_se(sd_event_new(&e) >= 0);
r = test_basic(e);
- if (r != 0)
- return r;
+ if (r != 0) {
+ log_notice("%s: skipping tests.", program_invocation_short_name);
+ return EXIT_TEST_SKIP;
+ }
test_message_handler();
test_client_id_hash();
r = test_boot_timestamps();
assert(r >= 0);
- return (p > 0 || q > 0 || r >> 0) ? EXIT_SUCCESS : EXIT_TEST_SKIP;
+ bool any = p > 0 || q > 0 || r > 0;
+ if (!any)
+ log_notice("%s: access to firmware variable not possible, skipping tests.",
+ program_invocation_short_name);
+
+ return any ? EXIT_SUCCESS : EXIT_TEST_SKIP;
}
int r;
nobody = getpwnam(NOBODY_USER_NAME);
- if (!nobody) {
- log_error_errno(errno, "Could not find nobody user: %m");
- return -EXIT_TEST_SKIP;
- }
+ if (!nobody)
+ return log_error_errno(errno, "Could not find nobody user: %m");
+
test_uid = nobody->pw_uid;
test_gid = nobody->pw_gid;
log_info("have ambient caps: %s", yes_no(ambient_capabilities_supported()));
- if (getuid() != 0)
+ if (getuid() != 0) {
+ log_notice("%s: not root, skipping tests.", program_invocation_short_name);
return EXIT_TEST_SKIP;
+ }
r = setup_tests(&run_ambient);
- if (r < 0)
- return -r;
+ if (r < 0) {
+ log_notice("%s: skipping tests.", program_invocation_short_name);
+ return EXIT_TEST_SKIP;
+ }
show_capabilities();