summaryrefslogtreecommitdiff
path: root/internal/eventloop_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-07-10 08:50:57 +0300
committerPaul Buetow <paul@buetow.org>2025-07-10 08:50:57 +0300
commit408d25786e2f53ed0a4290a06ecacb0f3427d5bd (patch)
treead4ca13fef154b52870e202441a9327fc376d044 /internal/eventloop_test.go
parent8220fcdf59dcadb73ac1715287da8b3602dcdba5 (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.go21
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)