Skip to content

tests/run.sh: a long run root truncates the row stamp so test_lane_helpers.sh's clause (c) TAIL case fails locally while CI's plain pytest passes #180

Description

@brettheap

Under tests/run.sh, tests/test_lane_helpers.sh's case "the row's stamp states clause (c)'s two facts ... TAIL" FAILS, while the same suite run by plain python3 -m pytest (which CI uses) passes. Found 2026-10-06 by lane openRepoTools-1's #170 writer at the base of PR #174 (feat/lane-worktrees-report), reproduced locally on Eagle.

Cause as observed: tests/run.sh places the run under a LONG run root (its per-run temp root beneath the checkout-adjacent paths #169 moved it to), and the row stamp written by the lane tooling is CUT before its dir …; window … tail — the stamp is bounded (the state cell's 240-character cap, or the stamp's own width) and the long path consumes the budget, so the clause (c) facts the case asserts are not there to read. Under plain pytest the shorter default temp root leaves room and the tail survives.

Why it matters: tests/run.sh is THE documented way to run the suite locally (AGENTS.md), so a person who follows the document sees a red case that CI never shows, and a case that depends on the length of the temp root is a case whose answer depends on where it is run. Related: #169 (run.sh's temp roots and process group), #77 (the suite's duration; this is the same run root), #137 (run.sh scoping).

Wants: either the suite's estate for that case uses a short, fixed sandbox path independent of the run root, or the row stamp's bounding is made to keep the clause (c) tail ahead of the directory text (truncate the dir, never the facts) — and a note in tests/run.sh or AGENTS.md until then. Unowned; filed so it is not lost across the account swaps of 2026-10-06. Filed by lane openRepoTools-1 at lane openRepoTools-3's request.

Activity

  1. brettheap commented on Oct 6, 2026

    @brettheap
    ContributorAuthor

    Deferred under the close-out direction of 2026-10-06. Diagnosis from the stopped writer: this is a path-length limit, not a run.sh bug per se — lane-start's cut_to_line cuts the row stamp at 230 characters; in the clause (c) case that leaves about 49 characters for TMPDIR. Under tests/run.sh TMPDIR is about 71 characters (~/.local/state/openRepoTools/tmp/<UTC>-<pid>/tmp), and on the macOS CI runner the default TMPDIR is about 49, so the case is already at the edge there. Moving the run root to a short path also requires updating lane-worktrees' sandbox_items, which finds killed runs' roots only under the state directory.

    Lane: openRepoTools-3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions