test(issue-17): test_o1_rebuttal and test_o2_race_free_lock run run_loop.sh under their own WORKSPACE_ROOT (review claude, grok)

Two modules still ran the checkout's run_loop.sh - which sources lib.sh
before it parses an option - with the process environment and no root of
their own: test_o2_race_free_lock's test_o2_12 (review claude; it was in the
sweep's list and missed in 8b47cc7) and test_o1_rebuttal's
test_v3_rebut_option_parsing_and_budget, whose calls pass no env (review
grok; outside the env-copy grep). Both now use own_workspace_root, and W1
runs one node of each: at 8b47cc7 W1 fails with the copy's .mam/shim/herdr.

A last pass over the test files that run lib.sh, run_loop.sh, the wrapper or a
skill script: every one is marked, uses mam_sandbox or pins WORKSPACE_ROOT,
or does not source lib.sh (b7 diff_collect, deploy, issue42, issue45 config,
issue5_phase0, local_mqtt).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HCGpJXhSZasJLU38ksDghe
This commit is contained in:
GodopuandClaude Opus 5.5 committed 2026-10-09 02:24:22 +09:00
1 parent 8b47cc76ee
commit ac48cb7861
3 files changed
+9

No files matched your search

+3
View File
@@ -193,6 +193,9 @@ def test_o2_11_legacy_marker_respected(tmp_path):
proc_dummy.wait()
# Issue #17: run_loop.sh sources lib.sh, which rewrites $WORKSPACE_ROOT/.mam/shim/herdr;
# only this test runs it (a module-wide mark would add an entry to o2_7's tmp_path).
@pytest.mark.usefixtures("own_workspace_root")
def test_o2_12_run_loop_exits_on_lock_failure(tmp_path):
marker = tmp_path / "loop-guard-active"
proc = acquire_bg(marker)