summaryrefslogtreecommitdiff
path: root/internal/generate/family_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-18 14:14:33 +0300
committerPaul Buetow <paul@buetow.org>2026-05-18 14:14:33 +0300
commit519cd996b5a7fede23b8b23f3c101d10b26111de (patch)
tree93f14954325e936d459003f334b667d2afec93b6 /internal/generate/family_test.go
parentd68e12c92f2aec9b59a849480e0788ab5d798b2a (diff)
k6: emit tracepoints for all syscall families
Diffstat (limited to 'internal/generate/family_test.go')
-rw-r--r--internal/generate/family_test.go51
1 files changed, 51 insertions, 0 deletions
diff --git a/internal/generate/family_test.go b/internal/generate/family_test.go
new file mode 100644
index 0000000..93431b4
--- /dev/null
+++ b/internal/generate/family_test.go
@@ -0,0 +1,51 @@
+package generate
+
+import "testing"
+
+func TestClassifySyscallFamily(t *testing.T) {
+ tests := []struct {
+ name string
+ want SyscallFamily
+ }{
+ {"sys_enter_accept", FamilyNetwork},
+ {"sys_exit_accept", FamilyNetwork},
+ {"sys_enter_pipe2", FamilyIPC},
+ {"sys_enter_munmap", FamilyMemory},
+ {"sys_enter_execve", FamilyProcess},
+ {"sys_enter_rt_sigaction", FamilySignals},
+ {"sys_enter_clock_gettime", FamilyTime},
+ {"sys_enter_sched_yield", FamilySched},
+ {"sys_enter_openat", FamilyFS},
+ {"sys_enter_epoll_wait", FamilyPolling},
+ {"sys_enter_io_uring_enter", FamilyAIO},
+ {"sys_enter_bpf", FamilySecurity},
+ {"sys_enter_unlisted_future_syscall", FamilyMisc},
+ }
+
+ for _, tt := range tests {
+ t.Run(tt.name, func(t *testing.T) {
+ if got := ClassifySyscallFamily(tt.name); got != tt.want {
+ t.Errorf("ClassifySyscallFamily(%q) = %s, want %s", tt.name, got, tt.want)
+ }
+ })
+ }
+}
+
+func TestParseFormatsTagsEveryFormatWithFamily(t *testing.T) {
+ formats := mustParseAll(t, FormatRead+"\n"+FormatExitSocket+"\n"+FormatExitKill)
+
+ tests := []struct {
+ index int
+ want SyscallFamily
+ }{
+ {0, FamilyFS},
+ {1, FamilyNetwork},
+ {2, FamilySignals},
+ }
+
+ for _, tt := range tests {
+ if got := formats[tt.index].Family; got != tt.want {
+ t.Errorf("formats[%d].Family = %s, want %s", tt.index, got, tt.want)
+ }
+ }
+}