summaryrefslogtreecommitdiff
path: root/internal/eventloop_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-23 09:55:29 +0200
committerPaul Buetow <paul@buetow.org>2026-02-23 09:55:29 +0200
commit9e7b820cfacb50299720b9d391de907d6f3fbdec (patch)
tree9c61cfffa44e407003d369ff1ba5ab99eb64c3f9 /internal/eventloop_test.go
parent55f33883838336c70d483779b0435c6e781b615e (diff)
Fix integration trace expectations and fd/open event handling
Diffstat (limited to 'internal/eventloop_test.go')
-rw-r--r--internal/eventloop_test.go31
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,