diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-23 10:34:37 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-23 10:34:37 +0200 |
| commit | a1eb580aa5b80e913dc722ccf97e42c6987152e8 (patch) | |
| tree | 845b3da7d8d6a0d11e28dea1b82bbf39e0e401b4 /internal/eventloop_test.go | |
| parent | 9e7b820cfacb50299720b9d391de907d6f3fbdec (diff) | |
Add getcwd tracing support and stabilize comm propagation test
Diffstat (limited to 'internal/eventloop_test.go')
| -rw-r--r-- | internal/eventloop_test.go | 40 |
1 files changed, 37 insertions, 3 deletions
diff --git a/internal/eventloop_test.go b/internal/eventloop_test.go index 09d84ea..f147f41 100644 --- a/internal/eventloop_test.go +++ b/internal/eventloop_test.go @@ -2,6 +2,7 @@ package internal import ( "context" + "os" "syscall" "testing" "time" @@ -26,9 +27,9 @@ type testData struct { func TestEventloop(t *testing.T) { testTable := map[string]testData{ - "OpenEventTest1": makeOpenEventTestData1(t), - "OpenEventTest2": makeOpenEventTestData2(t), - "OpenEventTest3": makeOpenEventTestData3(t), + "OpenEventTest1": makeOpenEventTestData1(t), + "OpenEventTest2": makeOpenEventTestData2(t), + "OpenEventTest3": makeOpenEventTestData3(t), "OpenEventFailureTest": makeOpenEventFailureTestData(t), // FdEvent tests "ReadEventTest": makeReadEventTestData(t), @@ -54,6 +55,7 @@ func TestEventloop(t *testing.T) { "SymlinkEventTest": makeSymlinkEventTestData(t), // NullEvent tests "SyncEventTest": makeSyncEventTestData(t), + "GetcwdEventTest": makeGetcwdEventTestData(t), "IoUringSetupEventTest": makeIoUringSetupEventTestData(t), "IoUringSetupFailureTest": makeIoUringSetupFailureTestData(t), "IoUringEnterEventTest": makeIoUringEnterEventTestData(t), @@ -1205,6 +1207,38 @@ func makeSyncEventTestData(t *testing.T) (td testData) { return td } +func makeGetcwdEventTestData(t *testing.T) (td testData) { + pid := uint32(os.Getpid()) + tid := uint32(os.Getpid()) + cwd, err := os.Getwd() + if err != nil { + t.Fatalf("getwd: %v", err) + } + + enterEv, enterEvBytes := makeEnterNullEvent(t, defaulTime, pid, tid, types.SYS_ENTER_GETCWD) + td.rawTracepoints = append(td.rawTracepoints, enterEvBytes) + + exitEv, exitEvBytes := makeExitRetEvent(t, defaulTime+100, pid, tid, types.SYS_EXIT_GETCWD, 1) + 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 getcwd to attach a pathname") + } + if got := ep.File.Name(); got != cwd { + t.Errorf("Expected cwd '%v' but got '%v'", cwd, got) + } + }) + + return td +} + func makeIoUringSetupEventTestData(t *testing.T) (td testData) { enterEv, enterEvBytes := makeEnterNullEvent(t, defaulTime, defaultPid, defaultTid, types.SYS_ENTER_IO_URING_SETUP) td.rawTracepoints = append(td.rawTracepoints, enterEvBytes) |
