diff options
| author | Paul Buetow <paul@buetow.org> | 2026-06-01 15:05:52 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-06-01 15:05:52 +0300 |
| commit | 877cc685fe550f2c53a9dbdf230eaa28feaf3a16 (patch) | |
| tree | e2c39419c01fae322772e868ad564c416a1c88e3 /cmd/ioworkload/scenarios.go | |
| parent | 6a872804d93b822d530e9df93547f2fec0a8ea50 (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.go | 2 |
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, |
