diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-23 09:55:29 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-23 09:55:29 +0200 |
| commit | 9e7b820cfacb50299720b9d391de907d6f3fbdec (patch) | |
| tree | 9c61cfffa44e407003d369ff1ba5ab99eb64c3f9 /internal/eventloop_test.go | |
| parent | 55f33883838336c70d483779b0435c6e781b615e (diff) | |
Fix integration trace expectations and fd/open event handling
Diffstat (limited to 'internal/eventloop_test.go')
| -rw-r--r-- | internal/eventloop_test.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/internal/eventloop_test.go b/internal/eventloop_test.go index 319e6c7..09d84ea 100644 --- a/internal/eventloop_test.go +++ b/internal/eventloop_test.go @@ -29,6 +29,7 @@ func TestEventloop(t *testing.T) { "OpenEventTest1": makeOpenEventTestData1(t), "OpenEventTest2": makeOpenEventTestData2(t), "OpenEventTest3": makeOpenEventTestData3(t), + "OpenEventFailureTest": makeOpenEventFailureTestData(t), // FdEvent tests "ReadEventTest": makeReadEventTestData(t), "WriteEventTest": makeWriteEventTestData(t), @@ -211,6 +212,36 @@ func makeOpenEventTestData3(t *testing.T) (td testData) { return td } +func makeOpenEventFailureTestData(t *testing.T) (td testData) { + enterEv, enterEvBytes := makeEnterOpenEvent(t, defaulTime, defaultPid, defaultTid) + td.rawTracepoints = append(td.rawTracepoints, enterEvBytes) + + exitEv, exitEvBytes := makeExitOpenEvent(t, defaulTime+100, defaultPid, defaultTid) + exitEv.Ret = -2 + exitEvBytes, _ = exitEv.Bytes() + td.rawTracepoints = append(td.rawTracepoints, exitEvBytes) + + td.validates = append(td.validates, func(t *testing.T, _ *eventLoop, ep *event.Pair) { + if !enterEv.Equals(ep.EnterEv) { + t.Errorf("Expected '%v' but got '%v'", enterEv, ep.EnterEv) + } + if !exitEv.Equals(ep.ExitEv) { + t.Errorf("Expected '%v' but got '%v'", exitEv, ep.ExitEv) + } + if ep.File == nil { + t.Fatalf("Expected file to be set for failed open") + } + if got, want := ep.FileName(), types.StringValue(enterEv.Filename[:]); got != want { + t.Errorf("Expected file name '%v' but got '%v'", want, got) + } + if got, want := ep.Comm, types.StringValue(enterEv.Comm[:]); got != want { + t.Errorf("Expected comm '%v' but got '%v'", want, got) + } + }) + + return td +} + func makeEnterOpenEvent(t *testing.T, time uint64, pid, tid uint32) (types.OpenEvent, []byte) { ev := types.OpenEvent{ EventType: types.ENTER_OPEN_EVENT, |
