Commit Diff


commit - 24fcd3677c53c0e0fa39f72d741644b390339a00
commit + 72369ce560a951963e78178a37904898278f1275
blob - f7eba65eae05bc013ec6f6c18228eef209360fa7
blob + b367e04fbe82932ba0247ab8813a1aeeb563967e
--- regress/print/run.sh
+++ regress/print/run.sh
@@ -760,21 +760,23 @@ ok "cancel: post-terminal assistant is never committed
 # Group-wide Ctrl-C while a synchronous shell is running still belongs to
 # the Coordinator; teardown kills and reaps the command group (I12/I14).
 reset_home
+foreground_project=$dir/foreground-project
+mkdir -p "$foreground_project"
 start_stub "SLEEP_TOOL"
 write_conf
 (
-	cd "$dir" || exit 1
+	cd "$foreground_project" || exit 1
 	exec env FUGU_CONF=$dir/fugu.conf FUGU_LIBEXEC=$dir/libexec/fugu \
 	    FUGU_CA_FILE=$dir/cert.pem FUGU_RETRY_BASE_MS=20 \
 	    "$obj/pglaunch" "$fugu" -p "cancel foreground tool" -o ndjson
 ) </dev/null >"$dir/out" 2>"$dir/errout" &
 fugupid=$!
 i=0
-while [ ! -s "$dir/childpid" ] && [ "$i" -lt 80 ]; do
+while [ ! -s "$foreground_project/childpid" ] && [ "$i" -lt 80 ]; do
 	sleep 0.1
 	i=$((i + 1))
 done
-childpid=$(cat "$dir/childpid" 2>/dev/null || true)
+childpid=$(cat "$foreground_project/childpid" 2>/dev/null || true)
 /bin/kill -INT -"$fugupid" 2>/dev/null
 wait "$fugupid"
 rc=$?
@@ -796,23 +798,25 @@ stop_stub
 # A registered background job is likewise session-scoped and cannot survive
 # cancellation after fugu-tool leaves its dispatch loop.
 reset_home
+background_project=$dir/background-project
+mkdir -p "$background_project"
 start_stub "BG_TOOL BLOCK"
 write_conf
 (
-	cd "$dir" || exit 1
+	cd "$background_project" || exit 1
 	exec env FUGU_CONF=$dir/fugu.conf FUGU_LIBEXEC=$dir/libexec/fugu \
 	    FUGU_CA_FILE=$dir/cert.pem FUGU_RETRY_BASE_MS=20 \
 	    "$obj/pglaunch" "$fugu" -p "cancel background tool" -o ndjson
 ) </dev/null >"$dir/out" 2>"$dir/errout" &
 fugupid=$!
 i=0
-while { [ ! -s "$dir/childpid" ] ||
+while { [ ! -s "$background_project/childpid" ] ||
     ! grep -q '^2$' "$dir/reqcount" 2>/dev/null; } &&
     [ "$i" -lt 80 ]; do
 	sleep 0.1
 	i=$((i + 1))
 done
-childpid=$(cat "$dir/childpid" 2>/dev/null || true)
+childpid=$(cat "$background_project/childpid" 2>/dev/null || true)
 /bin/kill -INT -"$fugupid" 2>/dev/null
 wait "$fugupid"
 rc=$?