From: Geliang Tang <[email protected]>

Add a new dedicated ASSERT macro ASSERT_OK_FD to test whether a socket
FD is valid or not. It can be used to replace macros ASSERT_GT(fd, 0, ""),
ASSERT_NEQ(fd, -1, "") or statements (fd < 0), (fd != -1).

Suggested-by: Martin KaFai Lau <[email protected]>
Signed-off-by: Geliang Tang <[email protected]>
---
 tools/testing/selftests/bpf/test_progs.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/tools/testing/selftests/bpf/test_progs.h 
b/tools/testing/selftests/bpf/test_progs.h
index 0ba5a20b19ba..4f7b91c25b1e 100644
--- a/tools/testing/selftests/bpf/test_progs.h
+++ b/tools/testing/selftests/bpf/test_progs.h
@@ -377,6 +377,14 @@ int test__join_cgroup(const char *path);
        ___ok;                                                          \
 })
 
+#define ASSERT_OK_FD(fd, name) ({                                      \
+       static int duration = 0;                                        \
+       int ___fd = (fd);                                               \
+       bool ___ok = ___fd >= 0;                                        \
+       CHECK(!___ok, (name), "unexpected fd: %d\n", ___fd);            \
+       ___ok;                                                          \
+})
+
 #define SYS(goto_label, fmt, ...)                                      \
        ({                                                              \
                char cmd[1024];                                         \
-- 
2.43.0


Reply via email to