summaryrefslogtreecommitdiff
path: root/integrationtests/iouring_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 19:42:40 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 19:42:40 +0200
commit5234ae813b60b823bc984ca8862f078ed4fe71a6 (patch)
tree6264c667c31c443fe7ecb59b3346fbd713bf2523 /integrationtests/iouring_test.go
parent4253a94b9bcb03c3c59e37a05ac006e79dfdc8bf (diff)
Add io_uring integration tests and workload scenarios
Implement iouring_test.go with tests for io_uring_setup, io_uring_enter, and io_uring_register tracepoints. Add corresponding workload scenarios using raw syscalls (425, 426, 427) since Go stdlib doesn't wrap io_uring on amd64. - iouring-setup: creates io_uring instance via io_uring_setup(2) - iouring-enter: creates ring, calls io_uring_enter(2) with zero ops - iouring-register: creates ring, calls io_uring_register(2) with PROBE Task #343 Amp-Thread-ID: https://ampcode.com/threads/T-019c8149-2aa6-75fb-88f3-dd6bd3a2b654 Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'integrationtests/iouring_test.go')
-rw-r--r--integrationtests/iouring_test.go33
1 files changed, 33 insertions, 0 deletions
diff --git a/integrationtests/iouring_test.go b/integrationtests/iouring_test.go
new file mode 100644
index 0000000..20c156c
--- /dev/null
+++ b/integrationtests/iouring_test.go
@@ -0,0 +1,33 @@
+package integrationtests
+
+import "testing"
+
+func TestIouringSetup(t *testing.T) {
+ runScenario(t, "iouring-setup", []ExpectedEvent{
+ {
+ Tracepoint: "enter_io_uring_setup",
+ Comm: "ioworkload",
+ MinCount: 1,
+ },
+ })
+}
+
+func TestIouringEnter(t *testing.T) {
+ runScenario(t, "iouring-enter", []ExpectedEvent{
+ {
+ Tracepoint: "enter_io_uring_enter",
+ Comm: "ioworkload",
+ MinCount: 1,
+ },
+ })
+}
+
+func TestIouringRegister(t *testing.T) {
+ runScenario(t, "iouring-register", []ExpectedEvent{
+ {
+ Tracepoint: "enter_io_uring_register",
+ Comm: "ioworkload",
+ MinCount: 1,
+ },
+ })
+}