summaryrefslogtreecommitdiff
path: root/cmd/ioworkload/scenarios.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-06-01 15:05:52 +0300
committerPaul Buetow <paul@buetow.org>2026-06-01 15:05:52 +0300
commit877cc685fe550f2c53a9dbdf230eaa28feaf3a16 (patch)
treee2c39419c01fae322772e868ad564c416a1c88e3 /cmd/ioworkload/scenarios.go
parent6a872804d93b822d530e9df93547f2fec0a8ea50 (diff)
test(integration): add SysV msg/sem tracing coverage
Add sysv-msg-basic and sysv-sem-basic ioworkload scenarios that exercise the SysV message-queue and semaphore families end-to-end via raw syscalls, mirroring the existing sysv-shm-basic scenario. sysv-msg-basic: msgget(IPC_PRIVATE) -> msgsnd -> msgrcv -> msgctl(IPC_RMID), using a struct msgbuf {int64 mtype; [16]byte mtext} and msgsz = body length (excluding mtype). sysv-sem-basic: semget(IPC_PRIVATE, 1) -> semop(+1) -> semop(-1) -> semctl(IPC_RMID), incrementing before decrementing so the operation can never block. Both defer IPC_RMID right after the get so no kernel IPC object leaks even on partial failure. Add TestSysVMsgBasic and TestSysVSemBasic asserting the enter_ events for msgget/msgsnd/msgrcv/msgctl and semget/semop/semctl are traced with MinCount>=1 and positive duration, plus PID/comm hermetic guards. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'cmd/ioworkload/scenarios.go')
-rw-r--r--cmd/ioworkload/scenarios.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/cmd/ioworkload/scenarios.go b/cmd/ioworkload/scenarios.go
index c11f25d..4fd2dd0 100644
--- a/cmd/ioworkload/scenarios.go
+++ b/cmd/ioworkload/scenarios.go
@@ -44,6 +44,8 @@ var scenarios = map[string]func() error{
"fd-from-air-eventfd-users": fdFromAirEventfdUsers,
"mq-posix-basic": mqPosixBasic,
"sysv-shm-basic": sysvShmBasic,
+ "sysv-msg-basic": sysvMsgBasic,
+ "sysv-sem-basic": sysvSemBasic,
"mountfs-management": mountfsManagement,
"polling-epoll": pollingEpoll,
"sleep-syscalls": sleepSyscalls,