From c5961b6fcfe0f3587be11187a9c666a7fa200f4b Mon Sep 17 00:00:00 2001 From: Olivier Cochard Date: Mon, 6 Apr 2026 19:17:49 +0200 Subject: [PATCH] yes: fix argv test race between fork and exec The argv test checks ps(1) output immediately after backgrounding yes(1), but the forked child briefly shows the parent shell's argv before exec(2) replaces it. This caused intermittent failures where ps(1) captured the atf shell wrapper command line instead of "yes y". Approved by: des Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D56231 --- usr.bin/yes/tests/yes_test.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr.bin/yes/tests/yes_test.sh b/usr.bin/yes/tests/yes_test.sh index f4c04e18653..797ac5f6ac9 100644 --- a/usr.bin/yes/tests/yes_test.sh +++ b/usr.bin/yes/tests/yes_test.sh @@ -52,6 +52,8 @@ argv_body() { yes y >/dev/null & local pid=$! + # Wait for yes(1) to exec before checking args + sleep 0.1 atf_check -o inline:"yes y\n" ps -o args= $pid kill $pid wait