On Thu, May 8, 2025 at 11:20 AM T.J. Mercier tjmercier@google.com wrote: [...]
+void test_dmabuf_iter(void) +{
struct dmabuf_iter *skel = NULL;char buf[256];int iter_fd;skel = dmabuf_iter__open_and_load();if (!ASSERT_OK_PTR(skel, "dmabuf_iter__open_and_load"))return;if (!ASSERT_OK(create_test_buffers(), "create_buffers"))goto destroy;if (!ASSERT_OK(dmabuf_iter__attach(skel), "skel_attach"))goto destroy;
From here...
iter_fd = bpf_iter_create(bpf_link__fd(skel->links.dmabuf_collector));if (!ASSERT_OK_FD(iter_fd, "iter_create"))goto destroy;while (read(iter_fd, buf, sizeof(buf)) > 0); /* Read out all contents *//* Next reads should return 0 */ASSERT_EQ(read(iter_fd, buf, sizeof(buf)), 0, "read");
to here, can be a separate subtest. Then iter_fd can be moved to that subtest.
if (test__start_subtest("default_iter"))subtest_dmabuf_iter_check_default_iter(skel);close(iter_fd);+destroy:
destroy_test_buffers();dmabuf_iter__destroy(skel);
[...]