Skip to content

test: correct fixture helper comment on home-scoped task temp root - #22

Merged
cloud-practitioner merged 1 commit into
mainfrom
fm/fm-fixture-tasktmp-comment
Oct 1, 2026
Merged

cloud-practitioner merged 1 commit into
mainfrom
fm/fm-fixture-tasktmp-comment

Conversation

@cloud-practitioner

Copy link
Copy Markdown
Owner

Intent

Correct the test comment that says the temp folder is not home-scoped, as a text correction only with no behaviour change. Context: PR #20 (merged) moved each task's temp root from the shared /tmp/fm- to state/.tasktmp/ inside the spawning Firstmate home. The comment above fm_test_remove_spawn_launch_dirs in tests/fixture-tree-helpers.sh, added by PR #16, still says "The per-task /tmp/fm- root is not home-scoped, so it is not this helper's to remove; fm-spawn.sh's own cleanup owns it", which is now wrong.

What Changed

  • Rewrote the comment above fm_test_remove_spawn_launch_dirs in tests/fixture-tree-helpers.sh. It no longer says the per-task /tmp/fm-<id> root is not home-scoped. It now says the task temp root is at state/<id>.tasktmp/ inside the home, which fm-spawn.sh's header defines, so it gets removed along with the fixture home. The helper itself only removes the launch directories staged in /tmp.
  • Only the comment text changed. The code and test behaviour are the same.

Risk Assessment

✅ Low: The change only edits a comment, and the new wording matches the fm-spawn.sh header contract (state/.tasktmp/ inside the spawning home) and the helper body, which only removes /tmp/fm-*+ launch directories.

Testing

This is a comment-only edit to a test helper, so there is nothing to drive live. I confirmed the diff touches only comment lines and that the new text matches fm-spawn.sh's state/<id>.tasktmp/ temp root. A syntax check and the helper's own fixture suite (tests/fm-test-fixtures.test.sh) both passed, which shows the helper still behaves as before. Verdict is no-surface.

  • Live validation: ⚠️ no-surface - 0 of 2 scenarios driven live against the product
Scenario Result Live Evidence
Fixture helper comment now correctly says the per-task temp root is home-scoped at state/<id>.tasktmp/ ⏸️ untested no This is a source comment in a test helper. No end user sees it at runtime and it changes no behaviour, so there is no live surface to drive. Its accuracy was checked by reading the diff and fm-spawn.s…
No behaviour change: suite exit cleanup still removes staged launch directories through fm_test_remove_spawn_launch_dirs ⏸️ untested no No executable line changed, so there is no product surface to run live. As a regression check, the helper's own fixture suite was run and passed, but that is a test run, not a live product run.
Evidence: Change diff (comment-only)

Source: Change diff (comment-only)

diff --git a/tests/fixture-tree-helpers.sh b/tests/fixture-tree-helpers.sh
index 6441258..275bbad 100644
--- a/tests/fixture-tree-helpers.sh
+++ b/tests/fixture-tree-helpers.sh
@@ -48,8 +48,9 @@ fm_test_home_hash() {
 # task the suite never tore down, or whose record it deleted, still leaves
 # nothing behind. It is the same name fm-teardown.sh retires, and the home hash
 # keeps every other home's launch directories out of reach. The per-task
-# /tmp/fm-<id> root is not home-scoped, so it is not this helper's to remove;
-# fm-spawn.sh's own cleanup owns it.
+# temp root lives at state/<id>.tasktmp/ inside the home (fm-spawn.sh's header
+# owns that path), so it goes away with the fixture home; this helper only
+# removes the launch directories staged in /tmp.
 # Call this before removing <fixture-root>, because the home paths must resolve.
 fm_test_remove_spawn_launch_dirs() {
   local root=$1 home hash dir
Evidence: fm-test-fixtures.test.sh output

Source: fm-test-fixtures.test.sh output

ok - runner and shared helpers isolate host Git config and preserve explicit config and outside commits
ok - suite exit cleanup removes an untorn spawn's read-only strip hooks and staged launch directory
ok - a set -e suite with no staged launch directories finishes exit cleanup and exits 0
ok - fm_test_remove_tree removes a tree holding read-only strip hooks and leaves outside targets alone
ok - fm_touch_epoch preserves both epochs in the repeated DST hour
ok - a fixture commit starts no background maintenance that a local clone could race
ok - fake no-mistakes --version is the shared constant and overridable
ok - init/doctor no-mistakes stub touches markers and refuses other verbs
ok - fake gh authenticates and fake gh-axi reports the shared version
ok - spawn fakebin answers pane path, logs -l payloads, and installs extra tools
ok - send stubs log typed text and fake ssh records argv with a controllable exit
ok - spawn-home layout writes harness pin, beat, and brief
- Outcome: ⚠️ 1 warning across 1 run (46.4s)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

⚠️ **Test** - 1 warning
  • ⚠️ this change has no live-validatable surface; proceed without live validation? (0 of 2 scenarios were driven live against the product); Fixture helper comment now correctly says the per-task temp root is home-scoped at state/<id>.tasktmp/: This is a source comment in a test helper. No end user sees it at runtime and it changes no behaviour, so there is no live surface to drive. Its accuracy was checked by reading the diff and fm-spawn.sh.; No behaviour change: suite exit cleanup still removes staged launch directories through fm_test_remove_spawn_launch_dirs: No executable line changed, so there is no product surface to run live. As a regression check, the helper's own fixture suite was run and passed, but that is a test run, not a live product run.
  • Live validation: ⚠️ no-surface - 0 of 2 scenarios driven live against the product
Scenario Result Live Evidence
Fixture helper comment now correctly says the per-task temp root is home-scoped at state/<id>.tasktmp/ ⏸️ untested no This is a source comment in a test helper. No end user sees it at runtime and it changes no behaviour, so there is no live surface to drive. Its accuracy was checked by reading the diff and fm-spawn.s…
No behaviour change: suite exit cleanup still removes staged launch directories through fm_test_remove_spawn_launch_dirs ⏸️ untested no No executable line changed, so there is no product surface to run live. As a regression check, the helper's own fixture suite was run and passed, but that is a test run, not a live product run.
  • git diff 3b9d1d8 96d0ac9: checked that every added or removed line is a # comment (a filter for non-comment changed lines matched nothing)
  • grep -n tasktmp bin/fm-spawn.sh: checked the new comment's claim against fm-spawn.sh's header and its TASK_TMP assignment
  • bash -n tests/fixture-tree-helpers.sh: syntax check of the edited helper
  • bash tests/fm-test-fixtures.test.sh: the helper's own suite, including the exit-cleanup tests that call fm_test_remove_spawn_launch_dirs (rc=0, all ok)
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@cloud-practitioner
cloud-practitioner merged commit 2c375b2 into main Oct 1, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant