On 8/6/24 12:55 AM, Alexis Lothoré (eBPF Foundation) wrote:
+void test_cgroup_get_current_cgroup_id(void)
+{
+       struct get_cgroup_id_kern *skel;
+       const struct timespec req = {
+               .tv_sec = 0,
+               .tv_nsec = 1,
+       };
+       int cgroup_fd;
+       __u64 ucgid;
+
+       cgroup_fd = cgroup_setup_and_join(TEST_CGROUP);

missing close(cgroup_fd)

pw-bot: cr

+       if (!ASSERT_OK_FD(cgroup_fd, "cgroup switch"))
+               return;
+
+       skel = get_cgroup_id_kern__open_and_load();
+       if (!ASSERT_OK_PTR(skel, "load program"))
+               goto cleanup_cgroup;
+
+       if (!ASSERT_OK(get_cgroup_id_kern__attach(skel), "attach bpf program"))
+               goto cleanup_progs;
+
+       skel->bss->expected_pid = getpid();
+       /* trigger the syscall on which is attached the tested prog */
+       if (!ASSERT_OK(syscall(__NR_nanosleep, &req, NULL), "nanosleep"))
+               goto cleanup_progs;
+
+       ucgid = get_cgroup_id(TEST_CGROUP);
+
+       ASSERT_EQ(skel->bss->cg_id, ucgid, "compare cgroup ids");
+
+cleanup_progs:
+       get_cgroup_id_kern__destroy(skel);
+cleanup_cgroup:
+       cleanup_cgroup_environment();
+}


Reply via email to