summaryrefslogtreecommitdiff
path: root/integrationtests/link_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-29 22:23:15 +0300
committerPaul Buetow <paul@buetow.org>2026-05-29 22:23:15 +0300
commit521964a730d828d63c324301deb206ea4b33089b (patch)
treeec366f7314ae74aae56d2a4fcd4b8a99c69fa957 /integrationtests/link_test.go
parent956ce04863357ccd08dfc939ee6f0b7eb8d698f8 (diff)
test(generate): lock in wait4 KindProc/Process audit
Audit of wait4(2): pid_t wait4(pid_t pid, int *wstatus, int options, struct rusage *rusage) waits for a child process to change state and optionally retrieves its resource usage. None of the arguments is an fd or a filesystem path: args[0] (pid) is a process/group selector -- a pid, NOT a file descriptor; args[1] (wstatus) and args[3] (rusage) are userspace output pointers; args[2] (options) is an int flag set. The return value is a pid_t (child pid, 0 for WNOHANG, or -1) -- never a byte count. The existing classification (KindProc -> null_event, FamilyProcess, ret UNCLASSIFIED) and the generated null_event enter handler (captures no args) are correct, matching siblings waitid/clone/fork/vfork, and docs/syscall-tracing-plan.md plus the drift tests are in sync. Add a dedicated lock-in test, modeled on the clone3 audit, that asserts the wait* siblings classify as KindProc, the family is Process, the generated enter handler emits a null_event capturing none of the args (so the pid at args[0] is never misclassified as an fd), and the pid/0/-1 return stays UNCLASSIFIED rather than a byte-count transfer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Diffstat (limited to 'integrationtests/link_test.go')
0 files changed, 0 insertions, 0 deletions