summaryrefslogtreecommitdiff
path: root/internal/generate/tracepointsgo_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-21 08:16:08 +0300
committerPaul Buetow <paul@buetow.org>2026-05-21 08:16:08 +0300
commitbe8735fe701f7398c19c17c394f4827614eab875 (patch)
treeaba59890563edb6e03f2eb82fee5d89b49fa2c81 /internal/generate/tracepointsgo_test.go
parent3a5706f21d30258577a5934efb93c400dad723db (diff)
p7 add attach-time trace dimension gating
Diffstat (limited to 'internal/generate/tracepointsgo_test.go')
-rw-r--r--internal/generate/tracepointsgo_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/internal/generate/tracepointsgo_test.go b/internal/generate/tracepointsgo_test.go
index 978633b..ebad63d 100644
--- a/internal/generate/tracepointsgo_test.go
+++ b/internal/generate/tracepointsgo_test.go
@@ -51,6 +51,8 @@ func TestExtractTracepoints(t *testing.T) {
requireContains(t, output, `"sys_enter_close",`)
requireContains(t, output, `"sys_exit_close",`)
requireContains(t, output, "var List = []string{")
+ requireContains(t, output, "var syscallFamilies = map[string]string{")
+ requireContains(t, output, "var syscallKinds = map[string]string{")
// Should NOT contain ignore comments or defines
if strings.Contains(output, "kill") {
@@ -78,6 +80,8 @@ func TestExtractTracepointsEmpty(t *testing.T) {
t.Fatal(err)
}
requireContains(t, output, "var List = []string{")
+ requireContains(t, output, "var syscallFamilies = map[string]string{")
+ requireContains(t, output, "var syscallKinds = map[string]string{")
requireContains(t, output, "}")
}
@@ -115,7 +119,25 @@ func TestExtractTracepointsNoSECLines(t *testing.T) {
t.Fatalf("unexpected error: %v", err)
}
requireContains(t, output, "var List = []string{")
+ requireContains(t, output, "var syscallFamilies = map[string]string{")
+ requireContains(t, output, "var syscallKinds = map[string]string{")
if strings.Contains(output, `"sys_`) {
t.Error("input with no SEC lines should produce empty list")
}
}
+
+func TestExtractTracepointsWithKinds(t *testing.T) {
+ kindData := `sys_enter_read is a struct fd_event
+sys_enter_open_by_handle_at is a struct open_by_handle_at_event
+sys_enter_mq_open is a struct mq_open_event
+sys_enter_epoll_ctl is a struct epoll_ctl_event
+`
+ output, err := ExtractTracepointsWithKinds(strings.NewReader(sampleGeneratedC), strings.NewReader(kindData))
+ if err != nil {
+ t.Fatalf("ExtractTracepointsWithKinds failed: %v", err)
+ }
+ requireContains(t, output, `"read": "fd",`)
+ requireContains(t, output, `"open_by_handle_at": "open-by-handle-at",`)
+ requireContains(t, output, `"mq_open": "mq-open",`)
+ requireContains(t, output, `"epoll_ctl": "epoll-ctl",`)
+}