diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-18 18:47:02 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-18 18:47:02 +0300 |
| commit | 5c13a7321502c4a5767be17ed48e7cdb576deab3 (patch) | |
| tree | fe155a1f8492471165762f8cf22796947149020a /internal/generate/classify_test.go | |
| parent | 7fb497c435596a36c0fb0bd0ecae2a84793bcc70 (diff) | |
j6: defer mmsg byte classification
Diffstat (limited to 'internal/generate/classify_test.go')
| -rw-r--r-- | internal/generate/classify_test.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/internal/generate/classify_test.go b/internal/generate/classify_test.go index 4dd216e..ea7d662 100644 --- a/internal/generate/classify_test.go +++ b/internal/generate/classify_test.go @@ -372,11 +372,27 @@ func TestClassifyPhaseAByteSyscallPairsAccepted(t *testing.T) { } } +func TestBatchMessageSyscallPairsDeferByteClassification(t *testing.T) { + tests := []string{"sendmmsg", "recvmmsg"} + for i, name := range tests { + t.Run(name, func(t *testing.T) { + output := GenerateTracepointsC(phaseAFormats(name, 9100+i*2)) + if strings.Contains(output, "Ignoring") || strings.Contains(output, "Skipping") { + t.Fatalf("syscall %s was not accepted:\n%s", name, output) + } + if !strings.Contains(output, "/// sys_exit_"+name+" is a struct ret_event (UNCLASSIFIED)") { + t.Fatalf("sys_exit_%s should be generated without byte classification:\n%s", name, output) + } + }) + } +} + func phaseAFormats(name string, enterID int) []Format { enterFields := []Field{ {Type: "long", Name: "__syscall_nr"}, } - if name == "sendto" || name == "recvfrom" || name == "sendmsg" || name == "recvmsg" { + if name == "sendto" || name == "recvfrom" || name == "sendmsg" || name == "recvmsg" || + name == "sendmmsg" || name == "recvmmsg" { enterFields = append(enterFields, Field{Type: "int", Name: "fd"}) } |
