summaryrefslogtreecommitdiff
path: root/internal/generate/codegen_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-19 10:12:32 +0300
committerPaul Buetow <paul@buetow.org>2026-05-19 10:12:32 +0300
commit127516b4bf63dc922df222825a9a6a1d7eacc214 (patch)
tree3839a2f6a7f4f1bc713690678fc003d4e2be8a8c /internal/generate/codegen_test.go
parent32a19cf9fb1344c9b1a61054d7cf2c90edc3708a (diff)
u6: add socket/socketpair kind scaffolding and wiring
Diffstat (limited to 'internal/generate/codegen_test.go')
-rw-r--r--internal/generate/codegen_test.go28
1 files changed, 27 insertions, 1 deletions
diff --git a/internal/generate/codegen_test.go b/internal/generate/codegen_test.go
index a448162..f87a6dc 100644
--- a/internal/generate/codegen_test.go
+++ b/internal/generate/codegen_test.go
@@ -185,6 +185,28 @@ func TestGenerateOpenByHandleAtHandler(t *testing.T) {
requireContains(t, output, "ev->flags = (__s32)ctx->args[2];")
}
+func TestGenerateSocketHandler(t *testing.T) {
+ output := generateFromPair(t, FormatSocket, FormatExitSocket)
+
+ requireContains(t, output, "struct socket_event *ev")
+ requireContains(t, output, "ev->event_type = ENTER_SOCKET_EVENT;")
+ requireContains(t, output, "ev->family = (__s32)ctx->args[0];")
+ requireContains(t, output, "ev->type = (__s32)ctx->args[1];")
+ requireContains(t, output, "ev->protocol = (__s32)ctx->args[2];")
+}
+
+func TestGenerateSocketpairHandler(t *testing.T) {
+ output := generateFromPair(t, FormatSocketpair, FormatExitSocketpair)
+
+ requireContains(t, output, "struct socketpair_event *ev")
+ requireContains(t, output, "ev->event_type = ENTER_SOCKETPAIR_EVENT;")
+ requireContains(t, output, "int sv[2];")
+ requireContains(t, output, "bpf_probe_read_user(&sv, sizeof(sv), (void *)ctx->args[3]);")
+ requireContains(t, output, "ev->family = (__s32)ctx->args[0];")
+ requireContains(t, output, "ev->sv0 = (__s32)sv[0];")
+ requireContains(t, output, "ev->sv1 = (__s32)sv[1];")
+}
+
func TestGenerateNameToHandleAtHandler(t *testing.T) {
output := generateFromPair(t, FormatNameToHandleAt, FormatExitNameToHandleAt)
@@ -292,6 +314,8 @@ func TestGenerateAllEventTypes(t *testing.T) {
{KindNull, "ENTER_NULL_EVENT", "EXIT_NULL_EVENT"},
{KindDup3, "ENTER_DUP3_EVENT", "EXIT_DUP3_EVENT"},
{KindOpenByHandleAt, "ENTER_OPEN_BY_HANDLE_AT_EVENT", "EXIT_OPEN_BY_HANDLE_AT_EVENT"},
+ {KindSocket, "ENTER_SOCKET_EVENT", "EXIT_SOCKET_EVENT"},
+ {KindSocketpair, "ENTER_SOCKETPAIR_EVENT", "EXIT_SOCKETPAIR_EVENT"},
}
for _, tt := range tests {
@@ -318,6 +342,8 @@ func TestEventStructNames(t *testing.T) {
{KindNull, "null_event"},
{KindDup3, "dup3_event"},
{KindOpenByHandleAt, "open_by_handle_at_event"},
+ {KindSocket, "socket_event"},
+ {KindSocketpair, "socketpair_event"},
}
for _, tt := range tests {
@@ -336,7 +362,7 @@ func TestEnterReject(t *testing.T) {
t.Error("KindNone should be enter-rejected")
}
- accepted := []TracepointKind{KindFd, KindOpen, KindPathname, KindName, KindFcntl, KindNull, KindDup3, KindOpenByHandleAt}
+ accepted := []TracepointKind{KindFd, KindOpen, KindPathname, KindName, KindFcntl, KindNull, KindDup3, KindOpenByHandleAt, KindSocket, KindSocketpair}
for _, k := range accepted {
if isEnterRejected(k) {
t.Errorf("kind %d should NOT be enter-rejected", k)