diff options
| author | Paul Buetow <paul@buetow.org> | 2025-07-10 08:50:57 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-07-10 08:50:57 +0300 |
| commit | 408d25786e2f53ed0a4290a06ecacb0f3427d5bd (patch) | |
| tree | ad4ca13fef154b52870e202441a9327fc376d044 /internal/eventloop_test.go | |
| parent | 8220fcdf59dcadb73ac1715287da8b3602dcdba5 (diff) | |
test: add io_uring_setup syscall test case
Implemented test coverage for io_uring_setup syscall which returns
a file descriptor on success. This completes the basic syscall test
coverage for all supported event types.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'internal/eventloop_test.go')
| -rw-r--r-- | internal/eventloop_test.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/internal/eventloop_test.go b/internal/eventloop_test.go index 1c3dc2a..0ede49b 100644 --- a/internal/eventloop_test.go +++ b/internal/eventloop_test.go @@ -44,6 +44,7 @@ func TestEventloop(t *testing.T) { "SymlinkEventTest": makeSymlinkEventTestData(t), // NullEvent tests "SyncEventTest": makeSyncEventTestData(t), + "IoUringSetupEventTest": makeIoUringSetupEventTestData(t), // Dup3Event tests "Dup3EventTest": makeDup3EventTestData(t), } @@ -668,6 +669,26 @@ func makeSyncEventTestData(t *testing.T) (td testData) { 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) + + // io_uring_setup returns a file descriptor on success + exitEv, exitEvBytes := makeExitRetEvent(t, defaulTime+100, defaultPid, defaultTid, types.SYS_EXIT_IO_URING_SETUP, 48) // fd = 48 + td.rawTracepoints = append(td.rawTracepoints, exitEvBytes) + + td.validates = append(td.validates, func(t *testing.T, el *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) + } + }) + + return td +} + // Test data functions for Dup3Event syscalls func makeDup3EventTestData(t *testing.T) (td testData) { oldFd := int32(49) |
