summaryrefslogtreecommitdiff
path: root/internal/generate/classify_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-19 15:00:02 +0300
committerPaul Buetow <paul@buetow.org>2026-05-19 15:00:02 +0300
commit71ef23ae16b0e310e66f3bf622cebefb9ec6b208 (patch)
treed61bc007207fbd3f4e21de34874de0248692b9b2 /internal/generate/classify_test.go
parent9cc2c7b3c4c7a1f1837a4a5260f11ccea5814c83 (diff)
v6: add KindAccept and wire accept/accept4
Diffstat (limited to 'internal/generate/classify_test.go')
-rw-r--r--internal/generate/classify_test.go49
1 files changed, 45 insertions, 4 deletions
diff --git a/internal/generate/classify_test.go b/internal/generate/classify_test.go
index e6353b5..07cfe49 100644
--- a/internal/generate/classify_test.go
+++ b/internal/generate/classify_test.go
@@ -237,10 +237,49 @@ func TestClassifyPathnameExecve(t *testing.T) {
}
}
-func TestClassifyFdAccept(t *testing.T) {
+func TestClassifyAccept(t *testing.T) {
r := classifyFromData(t, FormatAccept)
- if r.Kind != KindFd {
- t.Errorf("accept: got kind %d, want KindFd", r.Kind)
+ if r.Kind != KindAccept {
+ t.Errorf("accept: got kind %d, want KindAccept", r.Kind)
+ }
+}
+
+func TestClassifyAccept4(t *testing.T) {
+ r := classifyFromData(t, FormatAccept4)
+ if r.Kind != KindAccept {
+ t.Errorf("accept4: got kind %d, want KindAccept", r.Kind)
+ }
+}
+
+func TestClassifyExitAccept(t *testing.T) {
+ r := classifyFromData(t, FormatExitAccept)
+ if r.Kind != KindAccept {
+ t.Errorf("exit_accept: got kind %d, want KindAccept", r.Kind)
+ }
+}
+
+func TestClassifyExitAccept4(t *testing.T) {
+ r := classifyFromData(t, FormatExitAccept4)
+ if r.Kind != KindAccept {
+ t.Errorf("exit_accept4: got kind %d, want KindAccept", r.Kind)
+ }
+}
+
+func TestClassifySocketLifecycleFdSyscallsByName(t *testing.T) {
+ tests := []string{"bind", "connect", "listen", "shutdown"}
+ for _, name := range tests {
+ t.Run(name, func(t *testing.T) {
+ r := ClassifyFormat(&Format{
+ Name: "sys_enter_" + name,
+ ExternalFields: []Field{
+ {Type: "long", Name: "__syscall_nr"},
+ {Type: "int", Name: "sockfd"},
+ },
+ })
+ if r.Kind != KindFd {
+ t.Errorf("%s: got kind %d, want KindFd", name, r.Kind)
+ }
+ })
}
}
@@ -301,7 +340,8 @@ func TestClassifySyscallPairAccepted(t *testing.T) {
{"symlink", FormatSymlink, FormatExitSymlink, KindName},
{"mknod", FormatMknod, FormatExitMknod, KindPathname},
{"execve", FormatExecve, FormatExitExecve, KindPathname},
- {"accept", FormatAccept, FormatExitAccept, KindFd},
+ {"accept", FormatAccept, FormatExitAccept, KindAccept},
+ {"accept4", FormatAccept4, FormatExitAccept4, KindAccept},
{"socket", FormatSocket, FormatExitSocket, KindSocket},
{"socketpair", FormatSocketpair, FormatExitSocketpair, KindSocketpair},
{"kill", FormatKill, FormatExitKill, KindNull},
@@ -328,6 +368,7 @@ func TestClassifySyscallPairEmitsAllFamilies(t *testing.T) {
{"mknod", FormatMknod, FormatExitMknod, FamilyFS},
{"execve", FormatExecve, FormatExitExecve, FamilyProcess},
{"accept", FormatAccept, FormatExitAccept, FamilyNetwork},
+ {"accept4", FormatAccept4, FormatExitAccept4, FamilyNetwork},
{"socket", FormatSocket, FormatExitSocket, FamilyNetwork},
{"socketpair", FormatSocketpair, FormatExitSocketpair, FamilyNetwork},
{"kill", FormatKill, FormatExitKill, FamilySignals},