]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: fix root check for test-bpf-foreign-programs
authorLuca Boccassi <luca.boccassi@gmail.com>
Sat, 10 May 2025 11:31:19 +0000 (12:31 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 10 May 2025 12:04:45 +0000 (14:04 +0200)
This test requires root, but the check was mistakenly dropped, causing it
to fail with an assert when running without root:

src/test/test-bpf-foreign-programs.c:308: Assertion failed: expected "test_bpf_cgroup_programs(m, "single_prog.service", single_prog, ELEMENTSOF(single_prog))" to succeed, but got error: Operation not permitted

Restore the uid check

Follow-up for 22e2f0642897cfa7ba975527f5394bd7fcdf639b

src/test/test-bpf-foreign-programs.c

index 3128b26b8eb54454bb4b263d9bfd74add3702f4e..337243972c2f9164309ff0fe3cee2761acf35704 100644 (file)
@@ -279,9 +279,12 @@ int main(int argc, char *argv[]) {
         if (detect_container() > 0)
                 return log_tests_skipped("test-bpf fails inside LXC and Docker containers: https://github.com/systemd/systemd/issues/9666");
 
+        if (getuid() != 0)
+                return log_tests_skipped("not running as root");
+
         r = bpf_program_supported();
         if (r < 0)
-                return log_tests_skipped_errno(r, "not running as root");
+                return log_tests_skipped_errno(r, "BPF programs not supported");
 
         ASSERT_OK(getrlimit(RLIMIT_MEMLOCK, &rl));
         rl.rlim_cur = rl.rlim_max = MAX(rl.rlim_max, CAN_MEMLOCK_SIZE);